Changelog of @hackage/tasty-sugar 2.2.1.0

Revision history for tasty-sugar

2.2.1.0 -- 2023-06-28

  • Allow optparse-applicative 0.18, tasty 1.5, and hedgehog 1.4 packages.

2.2.0.0 -- 2023-05-03

  • Added rangedParamAdjuster helper function.
  • Added sweetAdjuster field to CUBE.
  • The findSugarIn function is now monadic with a MonadIO constraint (ato support sweetAdjuster functionality).
  • Exports candidateToPath, which was added in a previous version but not made publicly available.
  • The --showsearch output is switched to sorted order and provides a (correct) total count.
  • Parameter names are included in the test names along with the value.

2.1.0.0 -- 2023-03-20

  • Now supports the ability for the expected file to have the same name as the root file. This is a trivial match, but still allows for capture of parameters and associated files. Major version bump because this may result in additional, unexpected matches; to get the original behavior use the (new) distinctResults modifier on the findSugar results.
  • Support for GHC 9.6

2.0.1.0 -- 2023-01-09

  • Support for GHC 9.4.

2.0.0.1 -- 2022-11-10

  • Fixed arithmetic underflow exception. This only happened when an unconstrained parameter value was used and a subdirectory matched a constrained parameter value.

  • Fixed test group name for unconstrained parameters to use the actual parameter value (if available).

2.0 -- 2022-11-07

  • Performance improvements. Now scales better when there are more parameters.

  • Improved expected and associated file matching and Expected results parameter identification. This may result in different results than the 1.x version of tasty-sugar!

    • Parameter values explicit in the root match but not in the expected file are now reported as Explicit in the expParamsMatch because they explicitly match part of one of the filenames. This also means that files which were previously provided as expectations are no longer matched because the better root parameter matches exclude them.

    • Expectations are selected by best ParamMatch values, in order of parameter name, with ties resolved in favor of the longest expected filename.

  • The --showsearch can now also report internal stats for tasty-sugar.

1.3.0.2 -- 2022-09-06

  • Add test files to cabal's extra-sources so they are included in the package (thanks to Felix Yan).

1.3.0.1 -- 2022-06-29

  • Bump optparse-applicative upper bound to allow 0.17 series.

1.3.0.0 -- 2022-06-28

  • Add inputDirs to CUBE to replace single inputDir. Allows test action files to be spread across various directories. The inputDir is still supported for backward-compatibility, but the inputDirs is preferred.

  • Any input directory can be specified with a trailing asterisk (e.g. "test/data/*") in which case all subdirectories of that root directory will be scanned.

    • Any file (root, expected, or associated) may come from any directory (the files in a single Sweet Expectation do not all need to occur in the same subdirectory).

    • The parameter matching will also consider subdirectory names (prioritized over filename parameter matches).

  • SweetExplanation results field is a single entry instead of an array.

  • Added getParamVal function to extract the value (if any) from any ParamMatch.

  • Fixed some bugs in filename analysis and parameter determination.

1.2.0.0 -- 2022-05-16

  • Update for logict 0.8.0.0 breaking change.
  • Fix small issues in example usage haddock.

1.1.1.0 -- 2021-04-19

  • Use 'kvitable' to render --showsearch output.
  • Update build warnings and refactor code to remove potential partial results.
  • Fix tasty ingredients option double-defaulting.
  • Add dependency constraint bounds.
  • Update haddock usage for usage changes.

1.1.0.0 -- 2021-01-31

  • Allow multiple tests to be generated for each Expectation via withSugarGroups function. The withSugarGroups third argument function (the test generator) now returns a list instead of a single test. While roughly the same effect could have been achieved by the test generator function using a testGroup to wrap multiple tests, this change allows both (a) multiple tests to be generated without requiring another level in the test heirarchy, and (b) the generator can return an empty list if there should not be any tests generated for the specified Expectation.

1.0.2.0 -- 2021-01-31

  • Export paramMatchVal utility function

  • Fix over-trimming of Expectation matches

  • Fix identification ranking of associated files

1.0.1.1 -- 2021-01-18

  • Fix error where an expected set of matches could match multiple root names where the root names contain separators.

1.0.1.0 -- 2021-01-18

  • Associated files are now ranked based on the number of parameter components in the name and only the highest number of matches are provided. Previously all possible matches were supplied, which meant that "more generic" associations caused an Expectation in addition to the "more specific" associations. Now only the "more specific" assocations cause an Expectation.

  • Better indentation on Expectation information for --showsearch.

1.0.0.0 -- 2021-01-14

  • Allow multiple CUBE inputs for a single test session; Sweets are a semigroup.

  • Run the withSugarGroups mkSweets in MonadIO instead of pure.

  • Remove blank lines in --showsearch output.

0.2.0.0 -- 2021-01-12

  • Renamed CUBE "source" to "rootName"

  • Updated Sweets structure to show root match base and match name

  • Rewritten implementation using Logic capabilities. Clarified many corner cases and fully implemented all logic.

  • Significantly enhanced testing.

  • Updated documentation.

0.1.0.0 -- 2019-12-24

  • Initial version.