- Update minimum Dart SDK to
2.2.0
. - Consistently point to
isA
as a replacement forinstanceOf
. - Pretty print with private type names.
- Add
isA()
to createTypeMatcher
instances 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
greaterThan
now 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
name
constructor parameter optional and marked it deprecated. It's redundant to the type parameter.
- Made the
-
Migrated all
isType
matchers toTypeMatcher
. -
Added a
having
function 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
isInstanceOf
class. UseTypeMatcher
instead. -
Improved the output of
Matcher
instances that fail due to type errors.
- Updated SDK version to 2.0.0-dev.17.0
-
Fixed
unorderedMatches
in 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
predicate
andpairwiseCompare
generic 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
test
instead ofunittest
pkg.
-
Moved a number of members to the
unittest
package.TestFailure
,ErrorFormatter
,expect
,fail
, and 'wrapAsync'.completes
,completion
,throws
, andthrowsA
Matchers.- The
Throws
class. - All of the
throws...Error
Matchers.
-
Removed
FailureHandler
,DefaultFailureHandler
,configureExpectFailureHandler
, andgetOrCreateExpectFailureHandler
. Now thatexpect
is in theunittest
package, these are no longer needed. -
Removed the
name
parameter 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
String
s containing characters that must be represented as escape sequences.
- Remove the type checks in the
isEmpty
andisNotEmpty
matchers and simply access theisEmpty
respectivelyisNotEmpty
fields. This allows them to work with custom collections. See Issue 21792 and Issue 21562
- Fix the
prints
matcher test on dart2js.
- Add a
prints
matcher that matches output a callback emits viaprint
.
- Add an
isNotEmpty
matcher.
-
Refactored libraries and tests.
-
Fixed spelling mistake.
- Added
isNaN
andisNotNaN
matchers.
- Removed deprecated matchers.
- Get the tests passing when run on dart2js in minified mode.
- Compare sets order-independently when using
equals()
.
- Removed
@deprecated
annotation 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.
isAbstractClassInstantiationError
throwsAbstractClassInstantiationError
isFallThroughError
throwsFallThroughError
-
Added types to a number of method arguments.
-
The structure of the library and test code has been updated.