expect library

Classes

CustomMatcher
A useful utility class for implementing other matchers through inheritance. Derived classes should call the base constructor with a feature name and description, and an instance matcher, and should implement the featureValueOf abstract method.
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.
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])