expect library

Classes

CustomMatcher
A base class for Matcher instances that match based on some feature of the value under test.
Description
Matchers build up their error messages by appending to Description objects.
isInstanceOf<T>
DEPRECATED Use isA instead.
Matcher
The base class for all matchers.
StreamMatcher
A matcher that matches events from Streams or StreamQueues.
StringDescription
The default implementation of Description. This should rarely need substitution, although conceivably it is a place where other languages could be supported.
Throws
Use the throwsA function instead.
TypeMatcher<T>
A Matcher subclass that supports validating the Type of the target object.

Constants

anything → const Matcher
A matcher that matches any value.
isArgumentError → const TypeMatcher<ArgumentError>
A matcher for ArgumentError.
isCastError → const TypeMatcher<TypeError>
A matcher for TypeError.
isConcurrentModificationError → const TypeMatcher<ConcurrentModificationError>
A matcher for ConcurrentModificationError.
isCyclicInitializationError → const TypeMatcher<Error>
A matcher for Error.
isEmpty → const Matcher
Returns a matcher that matches the isEmpty property.
isException → const TypeMatcher<Exception>
A matcher for Exception.
isFalse → const Matcher
A matcher that matches anything except the Boolean value true.
isFormatException → const TypeMatcher<FormatException>
A matcher for FormatException.
isList → const TypeMatcher<List>
A matcher for List.
isMap → const TypeMatcher<Map>
A matcher for Map.
isNaN → const Matcher
A matcher that matches the numeric value NaN.
isNegative → const Matcher
A matcher which matches if the match argument is negative.
isNonNegative → const Matcher
A matcher which matches if the match argument is zero or positive.
isNonPositive → const Matcher
A matcher which matches if the match argument is zero or negative.
isNonZero → const Matcher
A matcher which matches if the match argument is non-zero.
isNoSuchMethodError → const TypeMatcher<NoSuchMethodError>
A matcher for NoSuchMethodError.
isNotEmpty → const Matcher
Returns a matcher that matches the isNotEmpty property.
isNotNaN → const Matcher
A matcher that matches any non-NaN value.
isNotNull → const Matcher
A matcher that matches any non-null value.
isNull → const Matcher
A matcher that matches any null value.
isNullThrownError → const TypeMatcher<TypeError>
A matcher for TypeError.
isPositive → const Matcher
A matcher which matches if the match argument is positive.
isRangeError → const TypeMatcher<RangeError>
A matcher for RangeError.
isStateError → const TypeMatcher<StateError>
A matcher for StateError.
isTrue → const Matcher
A matcher that matches the Boolean value true.
isUnimplementedError → const TypeMatcher<UnimplementedError>
A matcher for UnimplementedError.
isUnsupportedError → const TypeMatcher<UnsupportedError>
A matcher for UnsupportedError.
isZero → const Matcher
A matcher which matches if the match argument is zero.
returnsNormally → const Matcher
A matcher that matches a function call against no exception.
throws → const Matcher
This function is deprecated.
throwsArgumentError → const Matcher
A matcher for functions that throw ArgumentError.
throwsConcurrentModificationError → const Matcher
A matcher for functions that throw ConcurrentModificationError.
throwsCyclicInitializationError → const Matcher
A matcher for functions that throw CyclicInitializationError.
throwsException → const Matcher
A matcher for functions that throw Exception.
throwsFormatException → const Matcher
A matcher for functions that throw FormatException.
throwsNoSuchMethodError → const Matcher
A matcher for functions that throw NoSuchMethodError.
throwsNullThrownError → const Matcher
A matcher for functions that throw NullThrownError.
throwsRangeError → const Matcher
A matcher for functions that throw RangeError.
throwsStateError → const Matcher
A matcher for functions that throw StateError.
throwsUnimplementedError → const Matcher
A matcher for functions that throw Exception.
throwsUnsupportedError → const Matcher
A matcher for functions that throw UnsupportedError.

Properties

completes → Matcher
Matches a Future that completes successfully with any value.
final
doesNotComplete → Matcher
Matches a Future that does not complete.
final
emitsDone → StreamMatcher
Returns a StreamMatcher that asserts that the stream emits a "done" event.
final
neverCalled → Null Function([Object?, Object?, Object?, Object?, Object?, Object?, Object?, Object?, Object?, Object?])
Returns a function that causes the test to fail if it's called.
no setter

Functions

addStateInfo(Map matchState, Map values) → void
Useful utility for nesting match states.
allOf(Object? arg0, [Object? arg1, Object? arg2, Object? arg3, Object? arg4, Object? arg5, Object? arg6]) → Matcher
This returns a matcher that matches if all of the matchers passed as arguments (up to 7) match.
anyElement(Object? valueOrMatcher) → Matcher
Returns a matcher which matches Iterables in which at least one element matches the given valueOrMatcher.
anyOf(Object? arg0, [Object? arg1, Object? arg2, Object? arg3, Object? arg4, Object? arg5, Object? arg6]) → Matcher
Matches if any of the given matchers evaluate to true.
closeTo(num value, num delta) → Matcher
Returns a matcher which matches if the match argument is within delta of some value.
collapseWhitespace(String string) → String
Utility function to collapse whitespace runs to single spaces and strip leading/trailing whitespace.
completion(Object? matcher, [String? description]) → Matcher
Matches a Future that completes successfully with a value that matches matcher.
contains(Object? expected) → Matcher
Returns a matcher that matches if the match argument contains the expected value.
containsAll(Iterable expected) → Matcher
Matches Iterables which contain an element matching every value in expected in any order, and may contain additional values.
containsAllInOrder(Iterable expected) → Matcher
Matches Iterables which contain an element matching every value in expected in the same order, but may contain additional values interleaved throughout.
containsOnce(Object? expected) → Matcher
Matches Iterables where exactly one element matches the expected value, and all other elements don't match.
containsPair(Object? key, Object? valueOrMatcher) → Matcher
Returns a matcher which matches maps containing the key-value pair with key => valueOrMatcher.
containsValue(Object? value) → Matcher
Returns a matcher which matches maps containing the given value.
emits(Object? matcher) → StreamMatcher
Returns a StreamMatcher for matcher.
emitsAnyOf(Iterable matchers) → StreamMatcher
Returns a StreamMatcher that matches the stream if at least one of matchers matches.
emitsError(Object? matcher) → StreamMatcher
Returns a StreamMatcher that matches a single error event that matches matcher.
emitsInAnyOrder(Iterable matchers) → StreamMatcher
Returns a StreamMatcher that matches the stream if each matcher in matchers matches, in any order.
emitsInOrder(Iterable matchers) → StreamMatcher
Returns a StreamMatcher that matches the stream if each matcher in matchers matches, one after another.
emitsThrough(Object? matcher) → StreamMatcher
Returns a StreamMatcher that matches any number of events followed by events that match matcher.
endsWith(String suffixString) → Matcher
Returns a matcher that matches if the match argument is a string and ends with suffixString.
equals(Object? expected, [int limit = 100]) → Matcher
Returns a matcher that matches if the value is structurally equal to expected.
equalsIgnoringCase(String value) → Matcher
Returns a matcher which matches if the match argument is a string and is equal to value when compared case-insensitively.
equalsIgnoringWhitespace(String value) → Matcher
Returns a matcher which matches if the match argument is a string and is equal to value, ignoring whitespace.
escape(String str) → String
Returns str with all whitespace characters represented as their escape sequences.
everyElement(Object? valueOrMatcher) → Matcher
Returns a matcher which matches Iterables in which all elements match the given valueOrMatcher.
expect(dynamic actual, dynamic matcher, {String? reason, Object? skip, bool verbose = false, ErrorFormatter? formatter}) → void
Assert that actual matches matcher.
expectAsync(Function callback, {int count = 1, int max = 0, String? id, String? reason}) → Function
This function is deprecated because it doesn't work well with strong mode. Use expectAsync0, expectAsync1, expectAsync2, expectAsync3, expectAsync4, expectAsync5, or expectAsync6 instead.
expectAsync0<T>(T callback(), {int count = 1, int max = 0, String? id, String? reason}) → Func0<T>
Informs the framework that the given callback of arity 0 is expected to be called count number of times (by default 1).
expectAsync1<T, A>(T callback(A), {int count = 1, int max = 0, String? id, String? reason}) → Func1<T, A>
Informs the framework that the given callback of arity 1 is expected to be called count number of times (by default 1).
expectAsync2<T, A, B>(T callback(A, B), {int count = 1, int max = 0, String? id, String? reason}) → Func2<T, A, B>
Informs the framework that the given callback of arity 2 is expected to be called count number of times (by default 1).
expectAsync3<T, A, B, C>(T callback(A, B, C), {int count = 1, int max = 0, String? id, String? reason}) → Func3<T, A, B, C>
Informs the framework that the given callback of arity 3 is expected to be called count number of times (by default 1).
expectAsync4<T, A, B, C, D>(T callback(A, B, C, D), {int count = 1, int max = 0, String? id, String? reason}) → Func4<T, A, B, C, D>
Informs the framework that the given callback of arity 4 is expected to be called count number of times (by default 1).
expectAsync5<T, A, B, C, D, E>(T callback(A, B, C, D, E), {int count = 1, int max = 0, String? id, String? reason}) → Func5<T, A, B, C, D, E>
Informs the framework that the given callback of arity 5 is expected to be called count number of times (by default 1).
expectAsync6<T, A, B, C, D, E, F>(T callback(A, B, C, D, E, F), {int count = 1, int max = 0, String? id, String? reason}) → Func6<T, A, B, C, D, E, F>
Informs the framework that the given callback of arity 6 is expected to be called count number of times (by default 1).
expectAsyncUntil0<T>(T callback(), bool isDone(), {String? id, String? reason}) → Func0<T>
Informs the framework that the given callback of arity 0 is expected to be called until isDone returns true.
expectAsyncUntil1<T, A>(T callback(A), bool isDone(), {String? id, String? reason}) → Func1<T, A>
Informs the framework that the given callback of arity 1 is expected to be called until isDone returns true.
expectAsyncUntil2<T, A, B>(T callback(A, B), bool isDone(), {String? id, String? reason}) → Func2<T, A, B>
Informs the framework that the given callback of arity 2 is expected to be called until isDone returns true.
expectAsyncUntil3<T, A, B, C>(T callback(A, B, C), bool isDone(), {String? id, String? reason}) → Func3<T, A, B, C>
Informs the framework that the given callback of arity 3 is expected to be called until isDone returns true.
expectAsyncUntil4<T, A, B, C, D>(T callback(A, B, C, D), bool isDone(), {String? id, String? reason}) → Func4<T, A, B, C, D>
Informs the framework that the given callback of arity 4 is expected to be called until isDone returns true.
expectAsyncUntil5<T, A, B, C, D, E>(T callback(A, B, C, D, E), bool isDone(), {String? id, String? reason}) → Func5<T, A, B, C, D, E>
Informs the framework that the given callback of arity 5 is expected to be called until isDone returns true.
expectAsyncUntil6<T, A, B, C, D, E, F>(T callback(A, B, C, D, E, F), bool isDone(), {String? id, String? reason}) → Func6<T, A, B, C, D, E, F>
Informs the framework that the given callback of arity 6 is expected to be called until isDone returns true.
expectLater(dynamic actual, dynamic matcher, {String? reason, Object? skip}) → Future
Just like expect, but returns a Future that completes when the matcher has finished matching.
fail(String message) → Never
Convenience method for throwing a new TestFailure with the provided message.
greaterThan(Object value) → Matcher
Returns a matcher which matches if the match argument is greater than the given value.
greaterThanOrEqualTo(Object value) → Matcher
Returns a matcher which matches if the match argument is greater than or equal to the given value.
hasLength(Object? matcher) → Matcher
Returns a matcher that matches if an object has a length property that matches matcher.
inClosedOpenRange(num low, num high) → Matcher
Returns a matcher which matches if the match argument is greater than or equal to a low and less than high.
inExclusiveRange(num low, num high) → Matcher
Returns a matcher which matches if the match argument is greater than low and less than high.
inInclusiveRange(num low, num high) → Matcher
Returns a matcher which matches if the match argument is greater than or equal to low and less than or equal to high.
inOpenClosedRange(num low, num high) → Matcher
Returns a matcher which matches if the match argument is greater than low and less than or equal to high.
isA<T>() → TypeMatcher<T>
Returns a matcher that matches objects with type T.
isIn(Object? expected) → Matcher
Returns a matcher that matches if the match argument is in the expected value. This is the converse of contains.
isNot(Object? valueOrMatcher) → Matcher
Returns a matcher that inverts valueOrMatcher to its logical negation.
isSorted<T extends Comparable<T>>() → Matcher
Matches Iterables which are sorted.
isSortedBy<T, K extends Comparable<K>>(K keyOf(T)) → Matcher
Matches Iterables which are sorted by the keyOf property.
isSortedByCompare<T, K>(K keyOf(T), Comparator<K> compare) → Matcher
Matches Iterables which are compare-sorted by their keyOf property.
isSortedUsing<T>(Comparator<T> compare) → Matcher
Matches Iterables which are compare-sorted.
lessThan(Object value) → Matcher
Returns a matcher which matches if the match argument is less than the given value.
lessThanOrEqualTo(Object value) → Matcher
Returns a matcher which matches if the match argument is less than or equal to the given value.
matches(Pattern re) → Matcher
Returns a matcher that matches if the match argument is a string and matches the regular expression given by re.
mayEmit(Object? matcher) → StreamMatcher
Returns a StreamMatcher that allows (but doesn't require) matcher to match the stream.
mayEmitMultiple(Object? matcher) → StreamMatcher
Returns a StreamMatcher that matches any number of events that match matcher.
neverEmits(Object? matcher) → StreamMatcher
Returns a StreamMatcher that matches a stream that never matches matcher.
orderedEquals(Iterable expected) → Matcher
Returns a matcher which matches Iterables that have the same length and the same elements as expected, in the same order.
pairwiseCompare<S, T>(Iterable<S> expected, bool comparator(S, T), String description) → Matcher
A pairwise matcher for Iterables.
predicate<T>(bool f(T), [String description = 'satisfies function']) → Matcher
Returns a matcher that uses an arbitrary function that returns whether the value is considered a match.
prints(Object? matcher) → Matcher
Matches a Function that prints text that matches matcher.
same(Object? expected) → Matcher
Returns a matches that matches if the value is the same instance as expected, using identical.
startsWith(String prefixString) → Matcher
Returns a matcher that matches if the match argument is a string and starts with prefixString.
stringContainsInOrder(List<String> substrings) → Matcher
Returns a matcher that matches if the match argument is a string and contains a given list of substrings in relative order.
throwsA(Object? matcher) → Matcher
This can be used to match three kinds of objects:
unorderedEquals(Iterable expected) → Matcher
Returns a matcher which matches Iterables that have the same length and the same elements as expected, but not necessarily in the same order.
unorderedMatches(Iterable expected) → Matcher
Returns a matcher which matches Iterables whose elements match the matchers in expected, but not necessarily in the same order.
wrapMatcher(Object? valueOrMatcher) → Matcher
Takes an argument and returns an equivalent Matcher.

Typedefs

ErrorFormatter = String Function(Object? actual, Matcher matcher, String? reason, Map matchState, bool verbose)
The type used for functions that can be used to build up error reports upon failures in expect.
Func0<T> = T Function()
Func1<T, A> = T Function([A a])
Func2<T, A, B> = T Function([A a, B b])
Func3<T, A, B, C> = T Function([A a, B b, C c])
Func4<T, A, B, C, D> = T Function([A a, B b, C c, D d])
Func5<T, A, B, C, D, E> = T Function([A a, B b, C c, D d, E e])
Func6<T, A, B, C, D, E, F> = T Function([A a, B b, C c, D d, E e, F f])