CHANGELOG
v1.0.0
1. Overview
The package is much smaller now and just provides support for the
other packages in the Harnais
family.
2. Standard Function API Style
The package family has adopted a standard API style that returns either {:ok, any}
or {:error, error}
where error
is an Exception
.
Peer bang functions raise the error
or return the value
.
2. Breaking Internal Changes
These changes do not affect the public APIs.
Renamed Harnais.Attributes as Harnais.Attribute
Consistent use of singular module names.
Deleted Harnais.Runner Modules, etc
Harnais.Runner
related modules, attributes, etc have been deleted
from this package and are migrating into its own package.
Deleted Other Modules
Other utility modules have been deleted.
v0.2.0
1. Enhancements
More consistent naming of functions.
Improvements to transforming a test_specification
A new option test_transform has been added to define the complete transform pipeline applied to a test_specification. The test_transform can be one or more arity 1 or 2 functions.
If no test_transform is provided, the test_mapper functions (if any) and the internal normalisation function(s) are used to define the transform pipeline.
The transform pipeline is composed into a single transform function that is applied to all tests.
Any function that returns a nil short circuits the pipeline and causes the test to be discarded.
Separated the normalisation of the runner specification from a test specification.
In v0.1.0 the allowed aliases included (conflated) both the runner specification and test specification. These are now separated so that a test specification key (e.g. :c) may not appear in the runner specification. Note some keys appear in both (e.g. :test_value)
Added
- Harnais.runner_test_normalise_canon_keys/1
- Harnais.runner_test_normalise_canon_keys!/1
- Harnais.runner_test_maybe_normalise_canon_keys/1
- Harnais.runner_spec_normalise_canon_keys/1
- Harnais.runner_spec_normalise_canon_keys!/1
- Harnais.runner_spec_maybe_normalise_canon_keys/1
These functions can be used in e.g. a test_mapper or helper function to normalise the keys in the runner specification or a test_specification.
Begun adding standard test suites in `Harnais.Runner.Tests`
The suites can be used to test e.g. delegations. So far suites for Map and Stream / Enum.
Each test is a suite is `Map` form where the keys are the shortest alias (e.g. :v not :test_value). Test mappers can be applied in the usual way.