This commit relaxes the bounds on QuickCheck, allowing it to be
compatible with 2.12. In order to be compatible with 2.12, we had to CPP
some definitions that referenced code that was deleted.
The honoursAcceptHeader and getsHaveLastModifiedHeader predicates had
been omitted when writing the export list, making it necessary to import
Servant.QuickCheck.Internal.Predicates to have access to them.
* Add HTML missing Doctype predicate with tests
* Don't use 'fail' in predicates
* Add RFC reference and description for HTML doctype
* Only take enough of respBody to compare to doctype string
* Unbias generation of requests:
...so that each endpoint is picked with the same frequency.
Also, include a test for unbiased generation that measures mean and variance of results.
* Add test API with multiple Path elements
* Add basic test using this API, generating an endpoint to validate that query path delimiting is happening correctly (that fails on `master`)
* Fix (re)creation of path to prepend `/` to each new path section, but only if it's non-empty (this fixes the trailing slashes, but still allows users to use a `:> "foo/" :>...` if their API demands trailing slashes)
* Update / fix the existing test that now fails slightly differently (i.e. the trailing slash in `failplz/` is gone)
Fixes#22.
* Also, fix import for old `Servant` versions - _every_ version now needs `Data.Bytestring` (i.e. Servant version < 0.8, as per old lts in `stack.yaml`)
* Simplify test API to use `()` - no awkward values at all.
* The test asserts on _entire_ of resulting path now...
* ...and fix the ampersand placement, but preserving the order of params left to right. The code also reads a bit better this way...
* Add test API taking multiple `QueryParam`s
* Add basic test using this API, generating an endpoint to ensure correct HTTP `one=foo&two=bar` query string generation is happening (that fails on `master`)
* Fix (re)creation of query string to append `&` before the new parameter if there is already a built query string.
Fixes#23.