flutter_glados
library
Classes
Any
A namespace for all Generator s.
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.
ExploreConfig
Configuration for several parameters used during the exploration phase.
Glados <T >
The entrypoint for Glados testing.
Glados2 <First , Second >
Just like Glados , but with two parameters.
See Glados for more information about the arguments.
Glados3 <First , Second , Third >
Just like Glados , but with three parameters.
See Glados for more information about the arguments.
isInstanceOf <T >
DEPRECATED Use isA instead.
MappedShrinkableValue <T , R >
Matcher
The base class for all matchers.
NullableShrinkableValue <T >
OnPlatform
An annotation for platform-specific customizations for a test suite.
Random
A generator of random bool, int, or double values.
Retry
An annotation for marking a test suite to be retried.
Shrinkable <T >
A wrapper for a value that knows how to shrink itself.
ShrinkableCombination <T >
ShrinkableList <T >
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.
TestOn
An annotation indicating which platforms a test suite supports.
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.
Properties
any
→ Any
The any singleton, providing a namespace for Generator s.
final
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.
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
.
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
.
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.
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
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 ])
Generator <T >
= Shrinkable <T > Function(Random random , int size )
An Generator makes it possible to use Glados to test type T
.
Generates a new Shrinkable of type T
, using size
as a rough
complexity estimate. The random
instance should be used as a source for
all pseudo-randomness.
Exceptions / Errors
TestFailure
An exception thrown when a test assertion fails.