All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
match
protocol, they now default to using equality matching.matcher-combinators.standalone/match
(test-framework independent)Add new matching context for clojure.test:
match-roughly?
: Matches all numerics as long as they are within a given delta of the expected.thrown-match?
: (thrown-match? {:foo 1} (bang!)
+'
with +
and -'
with -
in roughly matchingequals
matcher for array-seqequals
matcher for chunked-sequencesequals
matcher for URIsin-any-order
, embeds
, set-{embeds|equals}
)No such namespace: clojure.test
Add new matching contexts: For Midje:
match-with
: takes a class->matcher map and an expected matcher. The map defines what matcher will be used by default when a particular class instance is found.match-equals
: Allows for exact matching of datastructures by using the equals
matcher instead of embeds
for maps.match-roughly
: Matches all numerics as long as they are within a given delta of the expected.For clojure.test
:
match-with?
: same as the midje version abovematch-equals?
: same as the midje version above
As well as matcher-combinator.test/build-match-assert
to help build new matcher contexts:fail
, which is the standard in clojure.test
for reporting mismatches. Thanks to Arne Brasseur (@plexus) for implementationmatch?
and thrown-match?
[BREAKING] When a record is in the expected
position of the matcher, the
actual
value must be a record of the same type.
Previous behavior would match if the actual
was a map with the same keys,
or a record of a different type with the same keys
in-any-order
/ embeds
match?
to help avoid linters removing requirethrows-match
(midje) and thrown-match?
(clojure.test) exception handling matchersin-any-order
choose smallest mismatch when same number of matchers one level down fail.embeds
sequence matching where some matches weren't found:mismatch
directive for clojure.test
reportingprefix
matcher more informativeboolean?
which is only in clojure 1.9equals-map
, equals-seq
, and equals-value
to all be equals
and do dispatch based on typesublist
to prefix
subset
sequence matcher to be embeds
contains-map
to embeds
and make it do dispatch based on typeequals
and embeds
as well as set-equals
and set-embeds
which allow one to use sequences to match sets, skirting the
issue that a set matcher of form #{odd? odd?}
will reduce to #{odd?}
.in-any-order
to print diff for element ordering that leads to most direct matchesin-any-order
operating over a list with several identical matchers failednil
to be interpreted as equals-value
by parser:dev
profilematcher-combinators.matchers/equals-value
in parser.matcher-combinators.midje/matcher
as a macro; it isn't neededmatch
inside of midje
provided
formssubset
issue where order of elements effected behaviorCan you improve this documentation? These fine people already did:
Phillip Mates, David Chelimsky, Edward Wible, EuAndreh, Marcelo Piva & Rafael de F. FerreiraEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close