- Update minimum Dart SDK to
2.2.0. - Consistently point to
isAas a replacement forinstanceOf. - Pretty print with private type names.
- Add
isA()to createTypeMatcherinstances in a more fluent way. - Potentially breaking bug fix. Ordering matchers no longer treat objects
with a partial ordering (such as NaN for double values) as if they had a
complete ordering. For instance
greaterThannow compares with the>operator rather not<and not=. This could cause tests which relied on this bug to start failing.
- Add isCastError.
- Set max SDK version to <3.0.0, and adjusted other dependencies.
-
Many improvements to
TypeMatcher-
Can now be used directly as
const TypeMatcher<MyType>(). -
Added a type parameter to specify the target
Type.- Made the
nameconstructor parameter optional and marked it deprecated. It's redundant to the type parameter.
- Made the
-
Migrated all
isTypematchers toTypeMatcher. -
Added a
havingfunction that allows chained validations of specific features of the target type./// Validates that the object is a [RangeError] with a message containing /// the string 'details' and `start` and `end` properties that are `null`. final _rangeMatcher = isRangeError .having((e) => e.message, 'message', contains('details')) .having((e) => e.start, 'start', isNull) .having((e) => e.end, 'end', isNull);
-
-
Deprecated the
isInstanceOfclass. UseTypeMatcherinstead. -
Improved the output of
Matcherinstances that fail due to type errors.
- Updated SDK version to 2.0.0-dev.17.0
-
Fixed
unorderedMatchesin cases where the matchers may match more than one element and order of the elements doesn't line up with the order of the matchers. -
Add containsAll matcher for Iterables. This Matcher checks that all values/matchers in an expected iterable are satisfied by an element in the value without allowing the same value to satisfy multiple matchers.
- Fixed SDK constraint to allow edge builds.
-
Make
predicateandpairwiseComparegeneric methods to allow typed functions to be passed to them as arguments. -
Make internal implementations take better advantage of type promotion to avoid dynamic call overhead.
-
Fixed small documentation issues.
-
Fixed small issue in
StringEqualsMatcher. -
Update to support future Dart language changes.
- Produce a better error message when a
CustomMatcher's feature throws.
- Add containsAllInOrder matcher for Iterables
- Fix all strong-mode warnings.
- Fix test files to use
testinstead ofunittestpkg.
-
Moved a number of members to the
unittestpackage.TestFailure,ErrorFormatter,expect,fail, and 'wrapAsync'.completes,completion,throws, andthrowsAMatchers.- The
Throwsclass. - All of the
throws...ErrorMatchers.
-
Removed
FailureHandler,DefaultFailureHandler,configureExpectFailureHandler, andgetOrCreateExpectFailureHandler. Now thatexpectis in theunittestpackage, these are no longer needed. -
Removed the
nameparameter forisInstanceOf. This was previously deprecated, and is no longer necessary since all language implementations now support converting the type parameter to a string directly.
- Fix a bug introduced in 0.11.4+5 in which operator matchers broke when taking lists of matchers.
- Fix all strong-mode warnings.
- Deprecate the name parameter to
isInstanceOf. All language implementations now support converting the type parameter to a string directly.
- Fix the examples for
equalsIgnoringWhitespace.
- Improve the formatting of strings that contain unprintable ASCII characters.
- Correctly match and print
Strings containing characters that must be represented as escape sequences.
- Remove the type checks in the
isEmptyandisNotEmptymatchers and simply access theisEmptyrespectivelyisNotEmptyfields. This allows them to work with custom collections. See Issue 21792 and Issue 21562
- Fix the
printsmatcher test on dart2js.
- Add a
printsmatcher that matches output a callback emits viaprint.
- Add an
isNotEmptymatcher.
-
Refactored libraries and tests.
-
Fixed spelling mistake.
- Added
isNaNandisNotNaNmatchers.
- Removed deprecated matchers.
- Get the tests passing when run on dart2js in minified mode.
- Compare sets order-independently when using
equals().
- Removed
@deprecatedannotation on matchers due to Issue 19173
- Added types to a number of constants.
-
Matchers related to bad language use have been removed. These represent code structure that should rarely or never be validated in tests.
isAbstractClassInstantiationErrorthrowsAbstractClassInstantiationErrorisFallThroughErrorthrowsFallThroughError
-
Added types to a number of method arguments.
-
The structure of the library and test code has been updated.