Mailspring/internal_packages/keybase/spec/keybase-search-spec.cjsx

17 lines
473 B
Text
Raw Normal View History

feat(keybase): Adds PGP Encryption Plugin commit efe58092494c8870072bdf45991c122624bb93e6 Author: logandavis <logankeahidavis@gmail.com> Date: Tue Jun 7 13:06:25 2016 -0700 patching specs commit 15a346b93efa5a21327f6bd7c14ef60ddc0f79bb Author: Ben Gotow <bengotow@gmail.com> Date: Mon Jun 6 17:49:20 2016 -0700 A few small fixes commit d4cc62a90d2d4f101b71bc57b5521353d2175219 Merge: 80018c0 17d9c3d Author: Ben Gotow <bengotow@gmail.com> Date: Mon Jun 6 17:32:00 2016 -0700 Merge branch 'master' into wip/keybase Conflicts: build/Gruntfile.coffee internal_packages/onboarding/lib/page-authenticate.jsx commit 80018c045527dec331118426ce67d82c44926334 Author: logandavis <logankeahidavis@gmail.com> Date: Fri Jun 3 18:12:39 2016 -0700 Re-styles decryption interface, temporarily removes file decryption The decryption interface was ugly as hell. Now it's aligned with the "Message Encrypted" notice and also the ugly text input is gone - replaced by a much nicer-looking popover. In the course of this refactor, file decryption was temporarily deactivated, but will return soon. commit ed1e6232803e2c6b8930f5ed2bd6ccde56542b3b Author: logandavis <logankeahidavis@gmail.com> Date: Fri Jun 3 15:39:02 2016 -0700 Adds more information to key-adder UI User testing indicated that the key-adder UI didn't provide enough feedback about incorrect inputs and the slow load time of key generation. This commit adds a spinning wheel while loading and a span describing which inputs are incorrect. commit 4d7908635cd606a3ebb2607537127dd1c5740a35 Author: logandavis <logankeahidavis@gmail.com> Date: Thu Jun 2 18:40:57 2016 -0700 Touches up search Fixes a bug in the search debouncing that was sometimes allowing users to modify search queries and not have the new query searched. Added messaging to stop people from trying to search keybase by email address. commit 140ae6679758d8ed54d1b6b7bd5c837f84132363 Author: logandavis <logankeahidavis@gmail.com> Date: Wed Jun 1 17:35:39 2016 -0700 Adds import from file and unifies paste in key-adder.cjsx User review feedback indicated that key import was a big pain point - pasting keys was a pain in the butt, private keys could be saved as public keys, etc. This commit is the functional overhaul (and refactor) for the key-adder on the preferences page. It adds an Import from File function and merges Paste Private and Paste Public into just Paste, which autodetects. commit 297f9ed482f4e83c52e40e479a31ba1bffad3f7d Author: Ben Gotow <bengotow@gmail.com> Date: Tue May 31 21:11:01 2016 -0700 fix(es6): Converstion broke file uploads by adding body: {} commit 7815e90c49c70339cd6d26d48e818d4f5f962b7f Merge: af54f01 0af27ee Author: logandavis <logankeahidavis@gmail.com> Date: Wed Jun 1 14:49:14 2016 -0700 Merge branch 'wip/keybase' of github.com:nylas/N1 into wip/keybase commit af54f0165b95447ffa04c1e324e02d892b20d047 Author: logandavis <logankeahidavis@gmail.com> Date: Wed Jun 1 14:47:03 2016 -0700 Bugfixes: clientID not found (from rebase) and modal on new email User testing revealed two pretty noxious bugs, one when you email someone who's not saved as a contact and one caused by an update to mail merge requiring inputs to Participant-Text-Field that n1-keybase wasn't provided. This fix patches modal-key-recommender to use emails as a fallback to contacts and sets a reasonable default for the input to Participant-Text-Field. commit 0af27ee10666f35f248a4191fe937cde920d6baf Author: Ben Gotow <bengotow@gmail.com> Date: Tue May 31 19:10:11 2016 -0700 fix(specs): Empty parameter list commit 87407249c2bfa7737a4609ac89b46c3b5a074f76 Merge: e4c050b 9892473 Author: Ben Gotow <bengotow@gmail.com> Date: Tue May 31 18:08:46 2016 -0700 Merge branch 'master' into wip/keybase commit e4c050b599fbc83b6249634297483a5683fe3c56 Author: Ben Gotow <bengotow@gmail.com> Date: Tue May 31 18:08:42 2016 -0700 fix commit 6c7857890df9d277f786b87ab996feeec4089c3b Author: Ben Gotow <bengotow@gmail.com> Date: Tue May 31 18:05:35 2016 -0700 fix(linter): Minor issue commit 36197effd6c8ca3648a5010dac874c9a990fb1b9 Author: Ben Gotow <bengotow@gmail.com> Date: Tue May 31 18:02:26 2016 -0700 fix(lint) commit 73dd4850bf675f983ecfcc5ef65e91b9aa118e16 Author: Ben Gotow <bengotow@gmail.com> Date: Tue May 31 17:52:18 2016 -0700 fix(lint): Don't lint node_modules of packages commit 15c9d42f2d896f22092465e78cb340d07e0086ac Author: Ben Gotow <bengotow@gmail.com> Date: Tue May 31 17:36:24 2016 -0700 patch(auth): Remove unused import commit 8756b2b5314fd0366caf8b2e12a3bc5e527bc593 Author: Ben Gotow <bengotow@gmail.com> Date: Tue May 31 17:33:30 2016 -0700 patch(auth): Temporarily remove auth flow commit 135395e4afdfcc8ba57667e60fa73ef55e126c2f Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 31 17:25:08 2016 -0700 linting fix commit 1049449f211111e704b3e543d2748339bf9cc6fd Merge: e6a8f9e e1275eb Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 31 15:50:00 2016 -0700 merge commit commit e6a8f9ebadcc3d1b1444c8676d15b730a0d7a5c0 Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 31 15:19:27 2016 -0700 move styling, update readme commit d388eb737ae9febc197bf0fe22d505a28c669639 Author: logandavis <logankeahidavis@gmail.com> Date: Wed May 25 16:15:31 2016 -0700 Add Export Private Key button to preferences commit f49062639a8f4a67a576b90a02f4b0f06dd492d0 Author: logandavis <logankeahidavis@gmail.com> Date: Wed May 25 12:40:23 2016 -0700 Add Export Public Key button to preferences commit 847221b6a2c9b1a1e8b817708ed9032803de9261 Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 20 15:26:37 2016 -0700 update readme commit 1f3f14bf9c69bfea7d7d1ac79c39fe0fe6befd37 Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 20 15:23:26 2016 -0700 Beautify Add Email button, catch naggling bugs The old add email button on the preferences page, which was not playing nice with the styling of KeybaseSearch, has been replaced by the drop-in EmailPopover element. Also, two bugs that were causing the console to flip out on normal, unencrypted emails were caught and fixed - the Decrypt Button now returns false instead of null, and attachments without filenames are allowed. commit a7cb363e357ff996b92946e9685416b98133de0b Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 20 14:54:00 2016 -0700 Debug and style the encryption popover modal The encryption popover was ugly as sin and also lacking in some functionality - it unnecessarily showed the email list, it contained no reference to the Key Management page, it didn't display any links to the keybase profile in question... now it is a pretty and functional popover. commit b4e3f5421558d4d128ffc66125657fc8b1abf1f1 Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 17 18:56:08 2016 -0700 Unborks Import Key popover, obscures password fields The Import Key popover on the preferences page was rendering off the screen because it was always pointing at the last button created rather than the button clicked. Now that's fixed. commit 20ab9f825d65f40451397c8a1df484bb7e63c593 Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 17 17:17:44 2016 -0700 Fixes identity filename/address management, dedupes search, encodes + Bunch of minor bugfixes here. The identity.path refactor broke PGPKeyStore.addAddressToKey and removeAddressFromKey, which this commit fixes. + characters were being incorrectly encoded in messages as &#43; which was breaking message decryption - that's now fixed in message preprocessing. Finally, basic Keybase search result deduplication is now in place. commit 8a2a5e6dc3c84ade420b16e36d2954cea661d1f1 Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 17 14:13:17 2016 -0700 Adds private key management to preferences page; beautifies Previously, the KeyManager element on the Preferences page only exposed public keys, and there was no way to see, edit, or delete private keys. Now you can do all of those things. This commit also fixes some render-timing issues in PGPKeyStore._populate that were causing nonexistent keys to appear (one on key generation, one on deletion of the final key) and improves the styling of the Preferences page. commit 3c39431dd6ad3a8c19770c6ddd46d508ee92d4bb Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 13 15:22:40 2016 -0700 burns the dead code out of preferences-keybase commit eb7b924d5e00946ebb3e7174f54f2c1dde1ff616 Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 13 14:58:51 2016 -0700 Fix key generation and saving from the preferences page An earlier refactor away from key objects and towards identity objects borked the old key saving code. This commit refactors the key-saving code so that keys can be manually added from the preferences page again, and also makes said code much clearer. commit e1f78d0080505102bf421c8c3638fee527d84481 Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 11 17:41:24 2016 -0700 add README of todos commit c44d7995fc3cc097fb8f98689dd18488920488cf Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 11 17:41:12 2016 -0700 heavy style pass, misc bugfixes, add assets commit 47208ca2d947ac4b04c1fec14b433f7c6105fe1d Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 11 14:03:06 2016 -0700 Decrypting files first pass, problem with unlocking keys commit fc2a56574c1eb0a7098280f3e7a2ca5d6697340c Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 4 17:52:32 2016 -0700 Cause message to encrypt on key picker popover close commit 545392dee9db2754c6b729bd9549c071e1568ddd Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 4 12:04:08 2016 -0700 light design pass on the modal (now a popover) commit 2726aab32dd74a68936a7d80d6e49b879f182ee3 Author: Dakota Nelson <dakota@nylas.com> Date: Mon May 2 15:47:45 2016 -0700 Key picker modal functional for multiple recipients, still needs lots of cleanup commit 050114acf36b8654de80726352812e945ac88968 Author: Dakota Nelson <dakota@nylas.com> Date: Fri Apr 29 14:52:33 2016 -0700 Key picker modal functional for single recipient commit 865c7c8894b30a55e4c6027dd6f03fea5d0bb330 Author: Dakota Nelson <dakota@nylas.com> Date: Thu Apr 28 17:31:08 2016 -0700 modal now allows selection of keybase user commit 728c995314b3238bdb3222c7d12353ab2e35a65a Author: Dakota Nelson <dakota@nylas.com> Date: Thu Apr 28 10:46:47 2016 -0700 consolidate key cache into one object, fix all tests commit 4bdd49ebd60beadf72b7aa099cfded09861768af Author: Dakota Nelson <dakota@nylas.com> Date: Wed Apr 27 11:49:54 2016 -0700 checkpoint commit for key selection modal in composer commit 7d33d832f6587814f8da142e14f9a7f8256114b9 Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 17:46:01 2016 -0700 Remove infinite loop of doom, match keys properly commit 7a4c1d60c1f1455e70a190710b59970ab2ed3b2a Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 14:31:41 2016 -0700 Re-add some of Logan's changes lost in the repo migration commit 6c1e31601e499f69c8df5b9f1a5244480ec67da1 Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 13:52:55 2016 -0700 slightly improve style on the decryption interface commit 78f115f59ce09f57621776be4287e1e3a9d047b4 Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 13:10:27 2016 -0700 update keybase profile type translation to include proofs commit 664c61fdd5e03d9ba4afa40d14673ad7733b1e30 Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 11:54:35 2016 -0700 Replace undocumented 'key' objects with explicit 'identity' objects commit 0824cc0a522e9d9d8045d7a87ef3b7ec8381090e Author: Dakota Nelson <dakota@nylas.com> Date: Fri Apr 22 13:33:18 2016 -0700 Remove unused code commit f0fd315cf7daf64f63d933508a6799ae4b5b4f18 Author: Dakota Nelson <dakota@nylas.com> Date: Thu Apr 21 17:24:54 2016 -0700 Further refactor keybase plugin commit 086e86f289213789f5796b5b1febee709986b89a Author: Dakota Nelson <dakota@nylas.com> Date: Thu Apr 21 15:53:54 2016 -0700 Refactor, and a useless commit msg commit 1fcda3875424a3ba4ba54f25644b43690b153324 Author: Ben Gotow <bengotow@gmail.com> Date: Wed Apr 20 16:16:26 2016 -0700 Fix linter errors (reported via cd build; grunt lint) commit fcc937e6b50e43932478437ecf6dabb2f96fa15c Author: Ben Gotow <bengotow@gmail.com> Date: Wed Apr 20 16:08:42 2016 -0700 Keybase API was 500'ing - move API adapter to standard (err, data) callback format and make it only call the callback once when error is hit (return after erroring) commit fd0b4220af13cc80b4c88f9e2e63976a54ac50d4 Author: Ben Gotow <bengotow@gmail.com> Date: Wed Apr 20 15:56:27 2016 -0700 Fix state were user has no pub keys commit 13886101fcf63e4e497526c2e039cbb791670c06 Author: Dakota Nelson <dakota@nylas.com> Date: Wed Apr 20 15:25:30 2016 -0700 add Logan's changes from the other repo commit 6e9103b4188414ddd6e01db2c4c50c68ad54caca Author: Dakota Nelson <dakota@nylas.com> Date: Wed Apr 20 15:22:34 2016 -0700 minor styling change to improve keybase popover commit fd0749a7c1c9202b94dc5a47bad26d8960c17099 Author: Dakota Nelson <dakota.w.nelson@gmail.com> Date: Wed Apr 20 12:30:40 2016 -0700 feat(keybase): Initial commit from n1-keybase repo commit e1275eb9ea548f76c06eb605b77a62d314f3d10f Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 31 15:19:27 2016 -0700 move styling, update readme commit 7f64713cc5d8cfdc59eca3c007cf673e5e2b6dea Author: logandavis <logankeahidavis@gmail.com> Date: Wed May 25 16:15:31 2016 -0700 Add Export Private Key button to preferences commit 9d4e2552388f94fb7113ab80906519dce4d7350f Author: logandavis <logankeahidavis@gmail.com> Date: Wed May 25 12:40:23 2016 -0700 Add Export Public Key button to preferences commit 166585dba9ece8d5dd529418b934947985ace5a3 Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 20 15:26:37 2016 -0700 update readme commit f875c4146e98152cf4d050fc5af3c322c2d5fdae Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 20 15:23:26 2016 -0700 Beautify Add Email button, catch naggling bugs The old add email button on the preferences page, which was not playing nice with the styling of KeybaseSearch, has been replaced by the drop-in EmailPopover element. Also, two bugs that were causing the console to flip out on normal, unencrypted emails were caught and fixed - the Decrypt Button now returns false instead of null, and attachments without filenames are allowed. commit 48713d78381fb7320ce265b84c95f8b1497008f7 Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 20 14:54:00 2016 -0700 Debug and style the encryption popover modal The encryption popover was ugly as sin and also lacking in some functionality - it unnecessarily showed the email list, it contained no reference to the Key Management page, it didn't display any links to the keybase profile in question... now it is a pretty and functional popover. commit a607f97f8082a14a29ebd5c2d8b397872ef5456a Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 17 18:56:08 2016 -0700 Unborks Import Key popover, obscures password fields The Import Key popover on the preferences page was rendering off the screen because it was always pointing at the last button created rather than the button clicked. Now that's fixed. commit 2afd41894aa297dcd6aec0b785cadbb533377f80 Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 17 17:17:44 2016 -0700 Fixes identity filename/address management, dedupes search, encodes + Bunch of minor bugfixes here. The identity.path refactor broke PGPKeyStore.addAddressToKey and removeAddressFromKey, which this commit fixes. + characters were being incorrectly encoded in messages as &#43; which was breaking message decryption - that's now fixed in message preprocessing. Finally, basic Keybase search result deduplication is now in place. commit 4824556543dce31b14be81ebe471f8febb55e00c Author: logandavis <logankeahidavis@gmail.com> Date: Tue May 17 14:13:17 2016 -0700 Adds private key management to preferences page; beautifies Previously, the KeyManager element on the Preferences page only exposed public keys, and there was no way to see, edit, or delete private keys. Now you can do all of those things. This commit also fixes some render-timing issues in PGPKeyStore._populate that were causing nonexistent keys to appear (one on key generation, one on deletion of the final key) and improves the styling of the Preferences page. commit 47c05fc485c80b297b6027f9bdabb5f921be77b3 Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 13 15:22:40 2016 -0700 burns the dead code out of preferences-keybase commit 6fdf34e5c4188994844052d95d927cab1ed182ea Author: logandavis <logankeahidavis@gmail.com> Date: Fri May 13 14:58:51 2016 -0700 Fix key generation and saving from the preferences page An earlier refactor away from key objects and towards identity objects borked the old key saving code. This commit refactors the key-saving code so that keys can be manually added from the preferences page again, and also makes said code much clearer. commit a1b4b4fdb4b35a844ca490d3e9029dbbf4d7bf24 Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 11 17:41:24 2016 -0700 add README of todos commit 6747a0a447476ca6af829886ec304d57bc5dd0ee Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 11 17:41:12 2016 -0700 heavy style pass, misc bugfixes, add assets commit 8544e4b84341f0bc49a1765c057cbf443c220448 Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 11 14:03:06 2016 -0700 Decrypting files first pass, problem with unlocking keys commit 428dc6739fb29f833c53e957e7a998abf25460ac Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 4 17:52:32 2016 -0700 Cause message to encrypt on key picker popover close commit 9d8ef053beca3ef6bbc910de272f1b98033599bf Author: Dakota Nelson <dakota@nylas.com> Date: Wed May 4 12:04:08 2016 -0700 light design pass on the modal (now a popover) commit b4a0ad2fa2ac33dbf3333e4beb9ac0df04aa107d Author: Dakota Nelson <dakota@nylas.com> Date: Mon May 2 15:47:45 2016 -0700 Key picker modal functional for multiple recipients, still needs lots of cleanup commit 6bf96d973c7e19de103695f3d6e3346c8db2dab3 Author: Dakota Nelson <dakota@nylas.com> Date: Fri Apr 29 14:52:33 2016 -0700 Key picker modal functional for single recipient commit f5f0e6aea8c16aefd3cdcbe19664bed708857693 Author: Dakota Nelson <dakota@nylas.com> Date: Thu Apr 28 17:31:08 2016 -0700 modal now allows selection of keybase user commit 83f7ad54bcab7c24da033d8fe60a602b27b79ded Author: Dakota Nelson <dakota@nylas.com> Date: Thu Apr 28 10:46:47 2016 -0700 consolidate key cache into one object, fix all tests commit f8ec4576dee108584e946a7e4c6b9f17885921de Author: Dakota Nelson <dakota@nylas.com> Date: Wed Apr 27 11:49:54 2016 -0700 checkpoint commit for key selection modal in composer commit c4dd851402162bcaa7e3b8cebf911d6a57fdfdbc Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 17:46:01 2016 -0700 Remove infinite loop of doom, match keys properly commit 537d2b423b9c4210c97bda0bf00cbbd1a4ebc80f Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 14:31:41 2016 -0700 Re-add some of Logan's changes lost in the repo migration commit 91d86ad6b69edee59de4938c24143e186ad5523a Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 13:52:55 2016 -0700 slightly improve style on the decryption interface commit 321ea22c01a6f346325870049a0664155b7ee71f Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 13:10:27 2016 -0700 update keybase profile type translation to include proofs commit b8821490432e582a53e7416b49476f90ab59f230 Author: Dakota Nelson <dakota@nylas.com> Date: Mon Apr 25 11:54:35 2016 -0700 Replace undocumented 'key' objects with explicit 'identity' objects commit 0999127bcd9c3cd75e17a8a4e6d37c5b53bc22ef Author: Dakota Nelson <dakota@nylas.com> Date: Fri Apr 22 13:33:18 2016 -0700 Remove unused code commit 3ddfc4e6946b3ed3e051c561cdda7499d326058f Author: Dakota Nelson <dakota@nylas.com> Date: Thu Apr 21 17:24:54 2016 -0700 Further refactor keybase plugin commit 1b5a9de2c9b2084a214619ce7c551ed6e9283a96 Author: Dakota Nelson <dakota@nylas.com> Date: Thu Apr 21 15:53:54 2016 -0700 Refactor, and a useless commit msg commit 999dd82e225b2d8209ee4f7be3cc0ab43c8e53b8 Author: Dakota Nelson <dakota@nylas.com> Date: Thu Apr 21 11:43:02 2016 -0700 Modify participants func to optionally allow from and bcc commit 9cdf258f5df9fd34ac94bf9822fdd7256af1bb9a Author: Ben Gotow <bengotow@gmail.com> Date: Wed Apr 20 16:16:26 2016 -0700 Fix linter errors (reported via cd build; grunt lint) commit c14fc59b6f236191b759bda6561c5f343401e8ab Author: Ben Gotow <bengotow@gmail.com> Date: Wed Apr 20 16:08:42 2016 -0700 Keybase API was 500'ing - move API adapter to standard (err, data) callback format and make it only call the callback once when error is hit (return after erroring) commit f0225603abb56b14e540f8419cb212760cf0883d Author: Ben Gotow <bengotow@gmail.com> Date: Wed Apr 20 15:56:27 2016 -0700 Fix state were user has no pub keys commit 818881523c698b1bd368344e9ff29ae870f9aae2 Author: Dakota Nelson <dakota@nylas.com> Date: Wed Apr 20 15:25:30 2016 -0700 add Logan's changes from the other repo commit 69f2003ff11be741b97bbb36a7bb4afd29ac7ecc Author: Dakota Nelson <dakota@nylas.com> Date: Wed Apr 20 15:22:34 2016 -0700 minor styling change to improve keybase popover commit 4081ad7ef2b4375f5665904eb2d61992bab9cf4d Author: Dakota Nelson <dakota.w.nelson@gmail.com> Date: Wed Apr 20 12:30:40 2016 -0700 feat(keybase): Initial commit from n1-keybase repo
2016-06-08 04:30:04 +08:00
{React, ReactTestUtils, Message} = require 'nylas-exports'
KeybaseSearch = require '../lib/keybase-search'
describe "KeybaseSearch", ->
it "should have a displayName", ->
expect(KeybaseSearch.displayName).toBe('KeybaseSearch')
it "should have no results when rendered", ->
@component = ReactTestUtils.renderIntoDocument(
<KeybaseSearch />
)
expect(@component.state.results).toEqual([])
# behold, the most comprehensive test suite of all time