Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Following the discussion started on #79. I'm opening this PR as an opened question and suggestion to better cover the library and its edge-cases. First, what is property-based testing? It's a technic coming from functional world and aiming to help devs into detecting edge cases without having them to think of them too much. Why, property-based testing? Well, in order to reduce the risks of bugs and potentially regressions on key libraries. Could it found problems? Well, probably. I tried another property but I'm not sure whether or not the failure is considered as ok or not. As such I'm not sure of what to expect from truncate so I was not able to make a decision. ```js it('produces strings with at most <truncate> characters', () => { fc.assert( fc.property( fc.anything({ withBigInt: true, withBoxedValues: true, withDate: true, withMap: true, withNullPrototype: true, withObjectString: true, withSet: true, withSparseArray: true, withTypedArray: true, withUnicodeString: true, }), fc.nat(), (source, truncate) => { const output = inspect(source, { truncate }) expect(output).to.have.lengthOf.at.most(truncate) } ) ) }) ``` Who am I? I'm the author of fast-check, the library added by this PR. It's the leading property-based testing library today.
- Loading branch information