- Directly compare keys across actual and expected
Map
instances when checking deep collection equality and all the keys can be directly compared for equality. This maintains the path into a nested collection for typical cases of checking for equality against a purely value collection. - Always wrap Condition descriptions in angle brackets.
- Add
containsMatchingInOrder
andcontainsEqualInOrder
to replace the combined functionality incontainsInOrder
. - Replace
pairwiseComparesTo
withpairwiseMatches
.
- Breaking Changes
- Remove the
Condition
class and theit()
utility. Replace calls to(it()..someExpectation())
with((it) => it.someExpectation())
.
- Remove the
- Add class modifiers to restrict extension of implementation classes.
- Return the first failure from
softCheck
andsoftCheckAsync
as documented, instead of the last failure when there are multiple failures. - Add example
because
usage and mention the "reason" name in the migration guide. - Add
ComparableChecks
with comparison expectations for subject types that implementComparable
.
- Add a link to file issues with feedback in the README.
- Breaking Changes
checkThat
renamed tocheck
.nest
andnestAsync
takeIterable<String> Function()
arguments forlabel
instead ofString
.- Async expectation extensions
completes
,throws
,emits
, andemitsError
no longer return aFuture<Subject>
. Instead they take an optionalCondition
argument which can check expectations that would have been checked on the returned subject. nestAsync
no longer returns aSubject
, callers must pass the followupCondition
to the nullable argument.- Remove the
which
extension onFuture<Subject>
. matches
renamed tomatchesPattern
and now accepts aPattern
argument, instead of limiting toRegExp
.
- Added an example.
- Include a stack trace in the failure description for unexpected errors from Futures or Streams.
- Initial release.