fast-check

Property based testing framework for JavaScript (like QuickCheck) written in TypeScript

MIT License

Downloads
6.1M
Stars
4.1K
Committers
68

Bot releases are hidden (Show)

fast-check - Straight to corner cases and verbose mode

Published by dubzzz about 6 years ago

Features

  • (PR#91) Straight to corner cases by default, see unbiased option of assert to disable it
  • (PR#93) Verbose mode on failure to have the list of all failing values encountered, see verbose option of assert to enable it
  • (PR#94) Better typings for fc.record
fast-check - TypeScript and JavaScript documentation of the code using TypeDoc

Published by dubzzz about 6 years ago

Features

Fixes

  • (959fb52b) Doc: Add a Tips section in the Readme
  • (0dd1e66a) Doc: Link towards the generated documentation in the Readme
fast-check - Reduce risk of using an unimplemented method of Node (older releases <6)

Published by dubzzz about 6 years ago

Fixes

  • (55ff3ff) Clean: Switch to the latest ES standard to use its implementations
  • (ce75e4e) Fix: Safer polyfill for older version of node - rely on core-js
fast-check - Readme update following removal of depreciated devDependencies

Published by dubzzz about 6 years ago

Fixes

  • (309a00b) Doc: Update README.md
  • (e13df27) Clean: Clean depreciated dependencies
fast-check - Easier replay of failures / Faster shrinks / No recursion when shrinking

Published by dubzzz about 6 years ago

Features

  • (7dd6fdb) Add min/max parameters on fc.float and fc.double
  • (e294eed) Naming: lower camel case for settings keys
  • (6f35cdd) Check inputs provided to fc.property for easier troubleshoot
  • (b960938) Naming: rename generic_tuple into genericTuple
  • (d1dde51) Faster shrink of arrays (and must of others because built on top of arrays x integers)
  • (fc57174) Faster shrink of integers
  • (be038f0) Replay a failure by setting seed and path
  • (d25d233) Feature counterexamplePath in case of failure
  • (c7a1508) Update error message content in case of failure in fc.assert
  • (eb0d3c2) Better rendering of strings
  • (1e0a73d) Switch to pure-rand library to handle the random number generation

Fixes

  • (56f1e03) Clean: Bump versions of dependencies
  • (d0027d7) Clean: Do not throw raw strings but Error
  • (6af9e6b) Clean: Remove power-assert from devDependencies
  • (fe44db5) Fix: Avoid recursion during shrinking
  • (e3ecc3c) Fix: Bad number of shrinks in case of failure (offset by one)
  • (79c08f7) Fix: Export dictionary arbitrary
fast-check - Performance improvements

Published by dubzzz about 6 years ago

Fixes

fast-check - Suggest custom test values with examples

Published by dubzzz about 6 years ago

Features

  • (PR#148) Manually add concrete examples to test

Fixes

  • (PR#153) Edit npm project description
  • (PR#152) Add minimal supported node engine version in package.json
  • (PR#149) Bump npm dependencies
fast-check - v0.0.12 version 2

Published by dubzzz over 6 years ago

Commits log:
79fadb2be1db6ad859050bc35caa73e6aab40eaf Update README.md
6af434fdc9b6a54a6231eda359d6fb118712fea1 Add 0 and -0 to possible outputs of anything/object

fast-check - Arbitraries for constants and record creation

Published by dubzzz over 6 years ago

Main features:

  • more arbitraries: constantFrom and record

Commit log:
0ed31cc313917d6cd5fa93780a5e2d41472bb2bf Add with_deleted_keys setting to settings example
18f7546ffbf1e7f76bf867e033a9e6740c77bb85 Add settings combination example
9de313b4a8705c863d9da60959e069562db4e670 Fix knight example
344cc8998afdefe6e701e2a4787b86e4b71d58ae Typos in test name
6be205e5b54d72f39bac42158dd15ec2c931b79d Bump versions in packages.json
616717210dadc5deaa9e0ac9381cff7aafb6ef1e Add e2e test for record
4db0087086b8fa36840c919c39743c6235fe0a5b Update README.md
d447668b086d28143e04df398cb1798a5ba3c385 Revamp knight example using fc.record
fc9d0d7027c6d4d3d12f982ee185a3d5fec7ad3a Revamp e2e test Shadows.spec using fc.record
786e16e3bbfe64af5a3c1b9a3d1ea94d3a5ee0d7 Redefine default values of ObjectArbitrary
a055e7f97a82196130723d342d26446e8f57d169 Documentation record
a3ed2b6f0946e93e6fd7b16374a4006351a2617b Documentation constantFrom
036cd2ff8a8a1c1d1f6a57b70757eb60824e15fa Documentation noShrink
0ee3a031cbe255bd2312c0c7573996efa714fab5 Link towards jsDelivr
8984e78c3afaa1575fc0057ae2b61310a811835d Add with_deleted_keys option for record
cc2276b5192705f0196aa3a733d048971edff5ae Add e2e test for record
850158bd2a111d40f2b362eab589744e6d8e0cf7 Add an arbitrary able to generate records
547b07071229a266a8787be9a9781be62b899e3d Add Stream.getNthOrLast
9fca382ba822078864cd4e9e68e7b909df95dc63 Fix wrongly designed constantFrom test
f817c30ebb8a5414ab332b95a4d0f8e22ddc100c Fix typo
262b809ca5fbfc670da88b9a87876712e94826e0 Add the ability to select one of the constants using fc.constantFrom
6db53f2cf1d0974dcef74c09635cc68a1b924bba Exclude example/ from npm package
830669cbb38fc69b3509ec741524f997df78e7b4 Fix travis CI build
dac81aee26b4935c1a19df3a62577528e63b8be8 Add e2e tests to check utf16 validity
30f4d6aad2ce95d142f92018c3a9b0ba27761b6f Try to fix travis build

fast-check - Bundled for web-browsers and node

Published by dubzzz over 6 years ago

Main features:

  • bundle for web-browsers
  • check compatibility with oldest node versions
  • code examples in the source code
  • fix unicode character generators (building half of a character)
  • minimal length parameter on all strings arbitraries
  • more arbitraries: set, char16bits, fullUnicode
  • target es3 in order to support oldest versions of node
  • timeout parameter on asychronous properties

2b12d0f28c959420e13a8664cb250ecb4e454484 Fixes Sample, Statistics and Runner generate one extra value
1467a7c5ea584797613c01f89df9484478c556e2 Update README.md
f6323eabc58fe774975ba64dbc1f7fa07787a484 Add 'npm run webbuild' command
ca2ac860da7763900a55a3c683b2e88d2c59a924 ObjectArbitrary must not suggest the object itself in shrink
a47b82ceb440cc0b10af0df6b292a1101d561da5 Add tests for set filter builder
f4959b8b331cd2561af9093ce057617324f3d0fa Increase timeout for mocha (node 6 takes too long)
0bb7682a85cb3a7f9479a6d9dca5080dbab05fdd Simplify array arbitrary shrinking implementation
e6934de2e238d78a2b1491ed3919528b08d22246 Remove unnecessary imports in Set tests
6e48592a97d982c8fbca4fa0ec63f7db62650979 Add set arbitrary
dab4a732849f77ae1774686f1251e303a853abb4 Fix char16bits test
75d10c14440d84b09de5d9253ad14a84e6f2633c Add back 16 bits chars generators
6522b9d4bec53b8b2e808b6abed5f0d92ea14785 Fix Travis CI build
3d71bf2cb62b240f117235381d193aa8725af367 UniformDistribution should avoid while true loop
b5fc66713673f286651b09a0a336f026a0f3bd6b UniformDistribution should avoid recursion
2bef74fc0253816bb5ca932367dd9f83965e3e33 Update README.md
4277d2a41b20de6fce9650b82631680877d19925 Add arbitrary for full unicode
89e6fb67fdc10d33cd786e29de04c07e73a5804d Update README.md
bb5ff9ae2f04b0d06a49e22efac5c3fa1a393465 Remove surrogate pairs characters from generated unicode
8832a96827e470e8d0a4ed8cf3251b21b20c86a9 Fix typo
1653ce8be2973db997b30209029460008b5ac015 Update README.md
e6007a19932c03d63daf9fc007f166bb2fdc209e Do not assess compatibility with node 0.10
67989cd4e6bad4a97c6f43aaea4a9718994fb1b6 Fix unknown --require flag on oldest node
487ce2ecc0d3064d83247e1c77b62eee2f497bf5 Revert "Revert "Add basic check that the code works on 0.10, 0.12""
9e5a2c53e436e8fe72c72242bd37ea1709008b44 Revert "Add basic check that the code works on 0.10, 0.12"
57ede1c1b407cb083b2822d6a24ed9ce0c697003 Add basic check that the code works on 0.10, 0.12
c564b6ba516eb8b5f175eb75831ff6dded4cc443 Try nvm commands in travis
6e3408b682612195458de379a7d704ab886e46aa Remove bash debug option from travis
2e3cdf9125355cdc72ed9d7d7850c7ff172941ea Change line endings
3232fb2cb8a9f169c9c00c735155763caaf14e0f Update .travis.yml
671c0b32553424d4fdcef725d94ceeaa67d126c2 Change bash to sh for example setup
3cbc8cbc1f2a3e71f780ac531c8447378613e51c Try to fix examples on travis
728f68da80f466aca01f983eb25c7bb8dae98a59 Add timeout tests for never ending tasks
5b2677e4bcfd1a4aa51cd649677146d6126e5db1 Update timeout exception message
6684b0514c784aa8261e1a873fe21c95c0ec50d6 Add timeout option in check and runner for async properties
5b8fc74e397b17559737b836fc8d15184353327a Add TimeoutProperty helper
e1707cb45514c3d43a0cdd92dfa18ea0e4359810 Remove node 4 from travis
434977a6a1896acbc36821999743a439cd0bbac4 Run examples as additional tests (in travis)
aa42a841b5229ac1df2416ce51cb61dad1c12db9 Remove 0.10 and 0.12 from travis
7aed254056472d15669e543b895718fba4b56be0 Update string documentation to add min/max signature
e7f39bba269eaeb972eba0f081aa74c2ad5d251f Add minLength into all string arbitraries
7c60dd029ffd045ade584af50b71f9357ced03f6 Compile towards es3 and add node versions to test on
70d2925e091698aed6f02143b8510af3540ce3ba Put units of example contains into units.js
9cc05bf441449438a10186eee50dc0cd44e47abc Update .travis.yml
bef33481258219481e2522ddf127a7f6a7261ad0 Run examples against current version
664f4228c47f2a0e48a0ad4fd442d28f492b4f88 Update local-fast-check.sh
c3eeb1cc48818f97bed6fd8a9b7a1728fa8d9dcc Create local-fast-check.sh
5873d606388ac34ac8b3ef1a9c89fad2985023f4 Add npm run test for example
6d1bfb35a0dcddeb764d1dd97b0660cbc74994a6 Add example: shadows of knight
08766d050685e2df5d22f539691b5a1424570f26 Add example: contains
ed6587e02ca8ec200ecf8f5d4acd6a57c059e5a9 Browserify as window.fastcheck

fast-check - Fix shrink of async properties

Published by dubzzz over 6 years ago

Main features:

  • fix bug in shrink of async properties

Commits log:
19784dcaddbb46bb1ce29a00615a10dacb382ad0 Modify runner test in order to check shrink in async mode
cf52287857d0d398df7838ab3775e6dcf42a77b8 Fix bad call in async shrink method

fast-check - JSON arbitraries and shrinker kill switch

Published by dubzzz over 6 years ago

Main features:

  • noShrink can remove shrink from existing arbitraries
  • more arbitraries: jsonObject and unicodeJsonObject
  • support higher number of arbitraies in tuples and properties

Commits log:
70c20949e660f70f86ab1592317aaa07101c14c3 Add noShrink on Arbitrary base class
b42e5389d675e3ee0f098624c52830a865a29de0 Add test for async/await on runner
bd0e24f69abd55d38d777108cd34cf93901f482f Add tests for AsyncProperty
7994610f1e108c0c2d673bd4424431b682c47e00 Update README.md
aff9f843c1e4b332c0fb58666d677cacf7472ed3 Add jsonObject and unicodeJsonObject
78380b385cf59613e4634ac41761acfb6303a96e Update README.md
87b1cada0c781b5267d8cd9994176420619de88f Update README.md
600e023a383cb64872fec94e97fedd3f55c40891 Update README.md
0ef7ff7009e483965779afa5ce7d53b82753d198 Update README.md
a224ee5b794fac92b86f4dab32096d2f064d211a Factorize json settings creation
418083c5c905ffa78522c97db27f00c86e1afccb Factorize json settings creation
b2fc576f1a5193d72a1e9f7fe4883dc5af4d4eed Generate specs for property and asyncProperty
c91e823d2a72db3f5dd5c81cac3d68c571e46b5a Generate asyncProperty variations
3455146d98c34f56a6f589af4a8a168b7a88f3f1 Generate property variations
426255c3bd3c84e2dcde43d47dfd04aac09b31a3 Generate tuple variations

fast-check - Code and documentation alignment

Published by dubzzz over 6 years ago

Main features:

  • align documentation with code
  • missing parts in the documentation

Commits log:
48aebbdbb91b770f7ac2a5f28d62a5bf99d9bb7e Update README.md
eb874058e623c375808f00686bbd470c27743aab Update README.md
c2d4d686a1198cf66ea71c124e0a1d6476ad8f54 Update README.md
04a7f61d4bb73db744e801d76a6ead20372b21e7 Update README.md

fast-check - Going async/await

Published by dubzzz over 6 years ago

Main features:

  • async/await properties
  • more arbitraries: frequency, anything, object, json, dictionary
  • array arbitrary accepts min and max (only default and 0 to max before this release)
  • better integration with modern tests frameworks (throw Error not strings)

Commits log:
d2e6d1e5990db8e80582d9ff1a9567e460c9d29a Fix e2e tests
6787cd4a341256dff76f1bfb663fcf4fddca3ff3 Throw Error on failure (not simple string)
9f70e1f78fba007ad4621cd3cd803d4d998bb82e Increase number of runs of flaky test
7b842cfb17387e19d6912edafbe08b7d0af08f2d Add support for async/await and Promises
89f7787d013005b681c06985d5b351df8605fc7e Extract RunDetails construction outside of Runner
2d86acdbe2e3a516c195fe067d6260a17c154b27 Export random and stream to ease framework extension
e93f2bb68a2d09dc29036c6a03f502cc051013d3 Add array with minimal and maximal length
3992bab971065fb2271003c12b442968f009de20 Remove buggy examples
fc63fe376ea39bfc005f01ce74e57a4c5eb17a44 Add some e2e for objects
11b2ec64c63bed34268632b436edb2888650bb6b Do not ignore original sources from packages
c0a6842cd4b6039f52471ad509dcf592155dfa1f Assert object shrink has the same type has original
c5a8be3dcab3e08e8c9d59090821ebb2c08fa613 Fix buggy test on anything.shrink
13a8b1b460ac545c02348a97d786292ad33bda24 Assert shrinked value of json
073d26d5b7dd50c6f6f1d0d2cc1cdef5c37dd811 Add utest on parsable json
cd10a374dc7be4af35281af9035c02e0b5c86620 Add missing convergence case for anything
ba10b9ce685b2cce789d12b85ac180788b8a7737 Simplify utest 'Should generate an object'
6adf6f21e3c09a42277ac05d4cb0d38ecaa7d11b Add utests for shrink on anything/object
ce5ee30f6d1515b16d227590d541e7541917da3d Add DictionaryArbitrary
e423d51e53aa78dd39118f216ea3da147dd3cb52 Add anything, object, json arbitraries
651b7a2f74a96cf93f4dd97e47bfb216d70b641c Add a frequency arbitrary

fast-check - First ready to use version

Published by dubzzz over 6 years ago

Main features:

  • creation of a documentation
  • more arbitraries: option, float, double, boolean
  • fc.sample and fc.statitistics

Commits log:
f86fd1774f899cb52f92b8a1aea66800cc90563a Update README.md
e75f89efa848a19d0363649c19c22179dc9ac042 Update README.md
070718111784cee030cc93ae6844a948e2b438b0 Update README.md
bb38c3edc4060e242f5e066d906cd42f0dc840e0 Add option arbitrary
a7eb45cd1f027ed621366626211616cc18d87e47 Add some tests on Stream join
a7019b294c15d78cea44510a61bf22462c109bd3 Add some tests on Stream join
fd323bba314d46d88fbcbfbc2562a07a7982c4f5 Add boolean type arbitrary
9a3e94a2ae6e7503e3965b86db6385658c3de329 Check shrink of float and double
c8bf3650d4124c5bd1c78941fd8b76fa74c71fae Add floating point number types: float, double
a67504b5e2ba1a84de1c08ab855ee8f73c43650f Format fc.assert/fc.property in Sampler.spec.ts
e149df864b06673e154cb096b56c9f315cfadea4 Add fc.statistics to monitor arbitraries
380e70c4cadabf1d4b76e26274fd95b664691810 Fix Sampler tests not run
51d04b5ba897f65d3cf89fb9e42ff2fa95ddaa73 Add unit test to check run can be reproduced
dba24f656895fdae84b319d047f9fe6ae5072be7 Ease the instantiation of stubs for arbitraries
aed0e1f86c10505e89910cdd2135bf1501d2c9f2 Move instantiation of MutableRandomGenerator into stub
f2da21a383788f4dd408bd4631b5548e4cf669b8 Bump the dependencies
7c7a914dee79bcb1d48a2ca5fd813fc0d5eb36e4 Split into two test suites: test (in test/unit) and e2e (in test/e2e)
e90022da6362c1fac61a1d0258c47428135c77e1 Do not count fc.* for coverage (except e2e)
e7bb7e59f390be18f80dceae013b1130a3968b72 Move stubs into test/stubs
c88c9628bb977858a02c01cf245f0321aa8e4b04 Increase allowed execution time for travis
063a332ed70a7f52d3109461881210f98ae7e2fc Add a sampler in order to diagnose arbitrary issues
453482cc318e27eb5c0d1adfe18b2049005d0dc2 Move Parameters and runners' helpers to utils
b884478284c759820230ff3e48d9ca7811b9d37d Rework IProperty definition
1c1a0d0c7c2773a842e7a2694ab2d2a596c2b61f Merge branch 'master' of https://github.com/dubzzz/fast-check
2ae99b2af23a6a3a7518311fdabc411a7bdb8d53 Update README.md
d5b9e0e73fbb60857341eec5c2042dbfd1724eb1 Update README.md
36fad8df1d823378fdaa2953f171bb4b75212d3b Update README.md
ae19c9d5d4957af112aa7b750325bd5ed7785d8c Update README.md
b130048a3da8cfcf3d0856f67c786424dbf97e0b Update README.md
5d36c508cf46138134adfff7ba857d23b2bc0b6f Update README.md
f3490f7a1abc30d3d57024c77a50c1cb65f23a14 Update README.md
5202eb792be7e38eebff4d1c4a1d545059656ffa Update README.md

fast-check - Missing dependencies on previous package

Published by dubzzz over 6 years ago

Fix package.json in order to take power-assert as a dependency and not a development dependency.

Commits log:
a441223d1221083506ea0ce1d110e2a64e6f4ffa power-assert as a dependency

fast-check - Missing dependencies on previous package

Published by dubzzz over 6 years ago

Fix package.json in order to take lorem-ipsum as a dependency and not a development dependency.

Commits log:
04eed818fbea78e075e043276e9eeb802427e5cb move lorem ipsum to dependencies

fast-check - Stabilization of Travis CI auto publication

Published by dubzzz over 6 years ago

Stabilization of Travis CI auto publication and modification of the targeted ecma version.

Commits log:
0256c284d759886ace0f0e8ebaf93e56eaef611d set target to es5
2eda98a0fa2e339b7414ffbc9b5e62b89fc335da update travis-ci key

fast-check - Setup Travis CI for automatic publish

Published by dubzzz over 6 years ago

Attempt to automatically publish fast-check packages from travis CI

Commits log:
3622241f1273541f0bca75b2b72e8e533ad6ba6e Update .travis.yml

fast-check - Initial publication

Published by dubzzz almost 7 years ago