Base class for bindings used by widgets library tests.

The ensureInitialized method creates (if necessary) and returns an instance of the appropriate subclass.

When using these bindings, certain features are disabled. For example, timeDilation is reset to 1.0 on initialization.

Inheritance
Mixes-in
  • SchedulerBinding
  • GestureBinding
  • ServicesBinding
  • RendererBinding
  • WidgetsBinding
Implemented by

Static Methods

ensureInitialized() WidgetsBinding

Creates and initializes the binding. This function is idempotent; calling it a second time will just return the previously-created instance.

Constructors

TestWidgetsFlutterBinding()

Properties

defaultTestTimeout Timeout

The default test timeout for tests when using this binding.

read-only
inTest bool

Whether there is currently a test executing.

read-only
microtaskCount int

The number of outstanding microtasks in the queue.

read-only
showAppDumpInErrors bool

Whether to include the output of debugDumpApp() when reporting test failures.

read / write
buildOwner BuildOwner

The BuildOwner in charge of executing the build pipeline for the widget tree rooted at this binding.

read-only, inherited
currentFrameTimeStamp Duration

The time stamp for the frame currently being processed.

read-only, inherited
debugBuildingDirtyElements bool

Whether we are currently in a frame. This is used to verify that frames are not scheduled redundantly.

read / write, inherited
gestureArena GestureArenaManager

The gesture arenas used for disambiguating the meaning of sequences of pointer events.

read-only, inherited
hashCode int

Get a hash code for this object.

read-only, inherited
hasScheduledFrame bool

Whether this scheduler has requested that handleBeginFrame be called soon.

read-only, inherited
pipelineOwner PipelineOwner

The render tree's owner, which maintains dirty state for layout, composite, paint, and accessibility semantics

read-only, inherited
pointerRouter PointerRouter

A router that routes all pointer events received from the engine.

read-only, inherited
renderView RenderView

The render tree that's attached to the output surface.

read / write, inherited
renderViewElement Element

The Element that is at the root of the hierarchy (and which wraps the RenderView object at the root of the rendering hierarchy).

read-only, inherited
runtimeType Type

A representation of the runtime type of the object.

read-only, inherited
schedulerPhase SchedulerPhase

The phase that the scheduler is currently operating under.

read-only, inherited
schedulingStrategy SchedulingStrategy

The strategy to use when deciding whether to run a task or not.

read / write, inherited
transientCallbackCount int

The current number of transient frame callbacks scheduled.

read-only, inherited

Operators

operator ==(other) bool

The equality operator.

inherited

Methods

asyncBarrier() → void

This is called during test execution before and after the body has been executed.

dispatchEvent(PointerEvent event, HitTestResult result, { TestBindingEventSource source: TestBindingEventSource.device }) → void

Dispatch an event to a hit test result's path.

globalToLocal(Point point) Point

Convert the given point from the global coodinate system (as used by pointer events from the device) to the coordinate system used by the tests (an 800 by 600 window).

idle() Future<Null>

Acts as if the application went idle.

initInstances() → void

The initialization method. Subclasses override this method to hook into the platform and otherwise configure their services. Subclasses must call "super.initInstances()".

localToGlobal(Point point) Point

Convert the given point from the coordinate system used by the tests (an 800 by 600 window) to the global coodinate system (as used by pointer events from the device).

postTest() → void

Called by the testWidgets function after a test is executed.

pump([Duration duration, EnginePhase newPhase = EnginePhase.sendSemanticsTree ]) Future<Null>

Triggers a frame sequence (build/layout/paint/etc), then flushes microtasks.

runTest(Future<Null> testBody(), VoidCallback invariantTester) Future<Null>

Call the testBody inside a FakeAsync scope on which pump can advance time.

setLocale(String languageCode, String countryCode) Future<Null>

Artificially calls dispatchLocaleChanged on the Widget binding, then flushes microtasks.

takeException() → dynamic

Returns the exception most recently caught by the Flutter framework.

addFrameCallback(FrameCallback callback, { bool rescheduling: false }) int

Adds a transient frame callback.

inherited
addObserver(WidgetsBindingObserver observer) → void

Registers the given object as a binding observer. Binding observers are notified when various application events occur, for example when the system locale changes. Generally, one widget in the widget tree registers itself as a binding observer, and converts the system state into inherited widgets.

inherited
addPersistentFrameCallback(FrameCallback callback) → void

Adds a persistent frame callback.

inherited
addPostFrameCallback(FrameCallback callback) → void

Schedule a callback for the end of this frame.

inherited
attachRootWidget(Widget rootWidget) → void

Takes a widget and attaches it to the renderViewElement, creating it if necessary.

inherited
beginFrame() → void

Pump the build and rendering pipeline to generate a frame.

inherited
cancelFrameCallbackWithId(int id) → void

Cancels the transient frame callback with the given id.

inherited
cancelPointer(int pointer) → void

Dispatch a PointerCancelEvent for the given pointer soon.

inherited
createViewConfiguration() ViewConfiguration

Returns a ViewConfiguration configured for the RenderView based on the current environment.

inherited
debugAssertNoTransientCallbacks(String reason) bool

Asserts that there are no registered transient callbacks; if there are, prints their locations and throws an exception.

inherited
dispatchLocaleChanged(Locale locale) → void

Notify all the observers that the locale has changed (using WidgetsBindingObserver.didChangeLocale), giving them the locale argument.

inherited
ensureVisualUpdate() → void

Schedules a new frame using scheduleFrame if this object is not currently producing a frame.

inherited
handleAppLifecycleStateChanged(AppLifecycleState state) → void

Called when the application lifecycle state changes.

inherited
handleBeginFrame(Duration rawTimeStamp) → void

Called by the engine to produce a new frame.

inherited
handleEvent(PointerEvent event, HitTestEntry entry) → void

Override this method to receive events.

inherited
handleEventLoopCallback() → void

Called by the system when there is time to run tasks.

inherited
handleLocaleChanged() → void

Called when the system locale changes.

inherited
handleMetricsChanged() → void

Called when the system metrics change.

inherited
handlePopRoute() → void

Called when the system pops the current route.

inherited
hitTest(HitTestResult result, Point position) → void

Check whether the given position hits this object.

inherited
initRenderView() → void

Creates a RenderView object to be the root of the RenderObject rendering tree, and initializes it so that it will be rendered when the engine is next ready to display a frame.

inherited
initServiceExtensions() → void

Called when the binding is initialized, to register service extensions.

inherited
noSuchMethod(Invocation invocation) → dynamic

Invoked when a non-existent method or property is accessed.

inherited
preventThisFrameFromBeingReportedAsFirstFrame() → void

Tell the framework that the frame we are currently building should not be considered to be a useful first frame.

inherited
reassembleApplication() → void

Called when the ext.flutter.reassemble signal is sent by development tools.

inherited
registerBoolServiceExtension({String name, ValueGetter<bool> getter, ValueSetter<bool> setter }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"), which takes a single argument "enabled" which can have the value "true" or the value "false" or can be omitted to read the current value. (Any value other than "true" is considered equivalent to "false". Other arguments are ignored.)

inherited
registerNumericServiceExtension({String name, ValueGetter<double> getter, ValueSetter<double> setter }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"), which takes a single argument with the same name as the method which, if present, must have a value that can be parsed by double.parse, and can be omitted to read the current value. (Other arguments are ignored.)

inherited
registerServiceExtension({String name, ServiceExtensionCallback callback }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"). The given callback is called when the extension method is called. The callback must return a Future that either eventually completes to a return value in the form of a name/value map where the values can all be converted to JSON using JSON.encode, or fails. In case of failure, the failure is reported to the remote caller and is dumped to the logs.

inherited
registerSignalServiceExtension({String name, VoidCallback callback }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"), which takes no arguments and returns no value.

inherited
registerStringServiceExtension({String name, ValueGetter<String> getter, ValueSetter<String> setter }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"), which optionally takes a single argument with the name "value". If the argument is omitted, the value is to be read, otherwise it is to be set. Returns the current value.

inherited
removeObserver(WidgetsBindingObserver observer) bool

Unregisters the given observer. This should be used sparingly as it is relatively expensive (O(N) in the number of registered observers).

inherited
resetEpoch() → void

Prepares the scheduler for a non-monotonic change to how time stamps are calcuated.

inherited
scheduleFrame() → void

If necessary, schedules a new frame by calling ui.window.scheduleFrame.

inherited
scheduleFrameCallback(FrameCallback callback, { bool rescheduling: false }) int

Schedules the given transient frame callback.

inherited
scheduleTask(VoidCallback task, Priority priority) → void

Schedules the given task with the given priority.

inherited
setSemanticsEnabled(bool enabled) → void

inherited
toString() String

Returns a string representation of this object.

inherited