skeletest-0.4.2: CHANGELOG.md
## v0.4.2
Bug fixes:
* Fix exporting `P.anythingDeep` / `P.anyThunk`
API changes:
* Add `P.throwsAny`
## v0.4.1
Bug fixes:
* Fix snapshots for manual tests detected as outdated when no test selections are specified on the command line
## v0.4.0
New features:
* Long tests now display the duration of the test ([#23](https://github.com/brandonchinn178/skeletest/issues/23))
* Summary of test results now displayed at end of test ([#21](https://github.com/brandonchinn178/skeletest/issues/21))
* Added `--format` for customizing the report format; `--format=minimal` is now the default in a terminal that supports ANSI
API changes:
* Re-designed how hooks are defined
* New hooks:
* `runSpecs`
* `modifyTestSummary`
* `onTestFailure`
* New `P.empty` predicate for checking empty lists/texts/etc.
* Add `HasSubsequences` instance for lazy `Text`
* Remove field prefixes from more constructors (`FlagSpec`, `TestResult`, `SpecInfo`)
* Change `testResultSuccess` from `Bool` to `TestResultStatus`
* `P.anything` now forces its argument to WHNF
* Added `P.anythingDeep` for forcing its argument deeply
* Added `P.anyThunk` to recover the old behavior
* New `skipTest` function for skipping tests at runtime
Runtime changes:
* Sanitize a literal "\`\`\`" line in snapshots ([#27](https://github.com/brandonchinn178/skeletest/issues/27))
* Show diff when snapshot doesn't exist also ([#51](https://github.com/brandonchinn178/skeletest/issues/51))
* Only update snapshots if test passed ([#25](https://github.com/brandonchinn178/skeletest/issues/25))
* Standardize exit codes
* Error if no tests were selected
* If there are any outdated snapshot files, `--update` now updates/removes them. The test suite fails if `--update` is not specified. ([#24](https://github.com/brandonchinn178/skeletest/issues/24))
* Snapshots are now ordered by test order ([#26](https://github.com/brandonchinn178/skeletest/issues/26))
* Will not reorder existing snapshot files until at least one snapshot in the file has changed and forces a write to the file. To force reorder everything, run `find ./test -name '*.snap.md' | xargs rm -rf` and rerun with `--update`.
* Snapshot headers now use `≫` as the group delimiter
* Slashes are now safe in group/test names in snapshot files
* `≫` is properly sanitized if used in group/test names
* Snapshot files will re-render with the new delimiter when a snapshot changes. Delete all snapshot files to force rerendering
## v0.3.7
New features:
* Support repeated CLI flags with `MultiFlag`
Runtime changes:
* Fix `--foo=bar` to error when `--foo` is a `SwitchFlag`
* Previously, it would silently add `bar` as a positional argument
* Allow multiple short CLI flags in one option
* `-abc` would be parsed as `-a -b -c` if all are switch flags
* `-abc` would be parsed as `-a -b c` if `-a` is a switch flag and `-b` is an argument flag
## v0.3.6
Runtime changes:
* Render exceptions in property tests the same as unit tests
* If property configuration (e.g. `Prop.setDiscardLimit`) occurs after `forAll` or IO actions, it now errors instead of silently being ignored
* Support `MonadFail` in `prop`
* Add `SKELETEST_TEST_ROOT` env var
## v0.3.5
Runtime changes:
* Fix circular dependency error when a session-scoped fixture errors ([#72](https://github.com/brandonchinn178/skeletest/issues/72))
* Fix `P.matchesSnapshot` when test changes CWD ([#44](https://github.com/brandonchinn178/skeletest/issues/44))
* Fix test failure messages when running test executable from different directory ([#74](https://github.com/brandonchinn178/skeletest/issues/74))
## v0.3.4
API changes:
* Replace `hookModifyFileSpecs` with `hookModifySpecRegistry`
* Remove field prefixes from many constructors (e.g. `Hooks`, `TestInfo`, etc.)
* Turn on `NoFieldSelectors` everywhere
* Add `focus` for focusing a specific test ([#58](https://github.com/brandonchinn178/skeletest/issues/58))
## v0.3.3
Configuration:
* Add `-optF=main:_` option for configuring the name of the main module/function ([#64](https://github.com/brandonchinn178/skeletest/issues/64))
API changes:
* Added `shouldReturn`
Runtime changes:
* Fix gray text output, using standard ANSI codes instead of a hardcoded RGB value
## v0.3.2
API changes:
* Added `hookModifyFileSpecs` to `Hooks` ([#59](https://github.com/brandonchinn178/skeletest/issues/59))
## v0.3.1
API changes:
* Re-export `BoxSpec` and `BoxContent` from `Skeletest.Plugin`
Runtime changes:
* Tweak formatting of test failures/errors
## v0.3.0
GHC support:
* Support GHC 9.14
New features:
* Automatically capture stdout/stderr ([#1](https://github.com/brandonchinn178/skeletest/issues/1))
API changes:
* Specify order of type variables for `P.anything` so that `P.anything @Int` works
Runtime changes:
* Add location to error messages
* Render test failures/errors in more visible box
* Display the path of the test file instead of guessing a module name ([#40](https://github.com/brandonchinn178/skeletest/issues/40))
* Flush stdout so test name is displayed while test is still running
## v0.2.1
* Add `P.list`
## v0.2.0
* Move setting properties to `Skeletest.Prop`
* Add coverage functions for property tests
## v0.1.1
* Support Diff-1.0
* Support GHC 9.12, drop support for GHC 9.6
## v0.1.0
Initial release