browser_test
library
Classes
BrowserTester
Tests any jaspr app in a headless browser environment.
ChainedFinder
Applies additional filtering against a parent Finder .
CommonFinders
Provides lightweight syntax for getting frequently used component Finder s.
ComponentTester
Tests any jaspr component in a simulated testing environment.
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.
Finder
Searches a component tree and returns nodes that match a particular
pattern.
isInstanceOf <T >
DEPRECATED Use isA instead.
Matcher
The base class for all matchers.
MatchFinder
Searches a component tree and returns nodes that match a particular
pattern.
OnPlatform
An annotation for platform-specific customizations for a test suite.
Retry
An annotation for marking a test suite to be retried.
Skip
An annotation for marking a test suite as skipped.
StreamMatcher
A matcher that matches events from Stream s or StreamQueue
s.
StringDescription
The default implementation of Description . This should rarely need
substitution, although conceivably it is a place where other languages
could be supported.
Tags
An annotation for applying a set of user-defined tags to a test suite.
TestComponentsBinding
TestOn
An annotation indicating which platforms a test suite supports.
TestRenderObject
Throws
Use the throwsA function instead.
Timeout
A class representing a modification to the default timeout for a test.
TypeMatcher <T >
A Matcher subclass that supports validating the Type of the target
object.
Functions
addStateInfo (Map matchState , Map values )
→ void
Useful utility for nesting match states.
addTearDown (dynamic callback () )
→ void
Registers a function to be run after the current test.
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 Iterable s 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 Iterable s which contain an element matching every value in
expected
in any order, and may contain additional values.
containsAllInOrder (Iterable expected )
→ Matcher
Matches Iterable s 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 Iterable s 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 Iterable s 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
.
findsNComponents (int n )
→ Matcher
Asserts that the Finder locates the specified number of components in the component tree.
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
.
group (Object ? description , dynamic body (), {String ? testOn , Timeout ? timeout , Object ? skip , Object ? tags , Map <String , dynamic > ? onPlatform , int ? retry , bool solo = false })
→ void
Creates a group of tests.
hasLength (Object ? matcher )
→ Matcher
Returns a matcher that matches if an object has a length property
that matches matcher
.
hasOuterHtml (String outerHtml )
→ Matcher
A matcher for checking the outerHTML
of a HTMLElement
.
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
.
markTestSkipped (String message )
→ void
Marks the current test as skipped.
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 Iterable s 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 Iterable s.
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.
printOnFailure (String message )
→ void
Prints message
if and when the current test fails.
prints (Object ? matcher )
→ Matcher
Matches a Function that prints text that matches matcher
.
pumpEventQueue ({int times = 20 })
→ Future
Returns a Future that completes after the event loop has run the given
number of times
(20 by default).
registerException (Object error , [StackTrace stackTrace = StackTrace.empty ])
→ void
Registers an exception that was caught for the current test.
same (Object ? expected )
→ Matcher
Returns a matches that matches if the value is the same instance
as expected
, using identical .
setUp (dynamic callback () )
→ void
Registers a function to be run before tests.
setUpAll (dynamic callback () )
→ void
Registers a function to be run once before all tests.
spawnHybridCode (String dartCode , {Object ? message , bool stayAlive = false })
→ StreamChannel
Spawns a VM isolate that runs the given dartCode
, which is loaded as the
contents of a Dart library.
spawnHybridUri (Object uri , {Object ? message , bool stayAlive = false })
→ StreamChannel
Spawns a VM isolate for the given uri
, which may be a Uri or a String .
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.
tearDown (dynamic callback () )
→ void
Registers a function to be run after tests.
tearDownAll (dynamic callback () )
→ void
Registers a function to be run once after all tests.
test (Object ? description , dynamic body (), {String ? testOn , Timeout ? timeout , Object ? skip , Object ? tags , Map <String , dynamic > ? onPlatform , int ? retry , bool solo = false })
→ void
Creates a new test case with the given description (converted to a string)
and body.
testBrowser (String description , FutureOr <void > callback (BrowserTester tester ), {String location = '/' , bool ? skip , Timeout ? timeout , dynamic tags })
→ void
testComponents (String description , FutureOr <void > callback (ComponentTester tester ), {Uri ? uri , bool isClient = true , bool ? skip , Timeout ? timeout , dynamic tags })
→ void
throwsA (Object ? matcher )
→ Matcher
This can be used to match three kinds of objects:
unorderedEquals (Iterable expected )
→ Matcher
Returns a matcher which matches Iterable s 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 Iterable s 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
ComponentPredicate
= bool Function(Component component )
Signature for CommonFinders.byComponentPredicate .
ElementPredicate
= bool Function(Element element )
Signature for CommonFinders.byElementPredicate .
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 ])
Exceptions / Errors
TestFailure
An exception thrown when a test assertion fails.