TestWindow class
Deprecated. Will be removed in a future version of Flutter.
This class has been deprecated to prepare for Flutter's upcoming support for multiple views and multiple windows.
SingletonFlutterWindow that wraps another SingletonFlutterWindow and allows faking of some properties for testing purposes.
Tests for certain widgets, e.g., MaterialApp, might require faking certain properties of a SingletonFlutterWindow. TestWindow facilitates the faking of these properties by overriding the properties of a real SingletonFlutterWindow with desired fake values. The binding used within tests, TestWidgetsFlutterBinding, contains a TestWindow that is used by all tests.
Sample Code
A test can utilize a TestWindow in the following way:
testWidgets('your test name here', (WidgetTester tester) async {
// Retrieve the TestWidgetsFlutterBinding.
final TestWidgetsFlutterBinding testBinding = tester.binding;
// Fake the desired properties of the TestWindow. All code running
// within this test will perceive the following fake text scale
// factor as the real text scale factor of the window.
testBinding.platformDispatcher.textScaleFactorTestValue = 2.5;
// Test code that depends on text scale factor here.
});
The TestWidgetsFlutterBinding is recreated for each test and therefore any fake values defined in one test will not persist to the next.
If a test needs to override a real SingletonFlutterWindow property and then later return to using the real SingletonFlutterWindow property, TestWindow provides methods to clear each individual test value, e.g., clearDevicePixelRatioTestValue.
To clear all fake test values in a TestWindow, consider using clearAllTestValues.
See also:
- TestPlatformDispatcher, which wraps a PlatformDispatcher for testing purposes and is used by the platformDispatcher property of this class.
- Implemented types
- Available extensions
- Annotations
-
- @Deprecated('Use TestPlatformDispatcher (via WidgetTester.platformDispatcher) or TestFlutterView (via WidgetTester.view) instead. ' 'Deprecated to prepare for the upcoming multi-window support. ' 'This feature was deprecated after v3.9.0-0.1.pre.')
Constructors
- TestWindow({required SingletonFlutterWindow window})
- Constructs a TestWindow that defers all behavior to the given SingletonFlutterWindow unless explicitly overridden for test purposes.
- TestWindow.fromPlatformDispatcher({@Deprecated('Use WidgetTester.platformDispatcher instead. ' 'Deprecated to prepare for the upcoming multi-window support. ' 'This feature was deprecated after v3.9.0-0.1.pre.') required TestPlatformDispatcher platformDispatcher})
- Constructs a TestWindow that defers all behavior to the given TestPlatformDispatcher and its TestPlatformDispatcher.implicitView.
Properties
- accessibilityFeatures → AccessibilityFeatures
-
Additional accessibility features that may be enabled by the platform.
no setteroverride
- alwaysUse24HourFormat → bool
-
The setting indicating whether time should always be shown in the 24-hour
format.
no setteroverride
- brieflyShowPassword → bool
-
Whether briefly displaying the characters as you type in obscured text
fields is enabled in system settings.
no setteroverride
- debugPhysicalSizeOverride ← Size?
-
Available on SingletonFlutterWindow, provided by the SingletonFlutterWindowExtension extension
Overrides the value of physicalSize in tests.no getter - defaultRouteName → String
-
The route or path that the embedder requested when the application was
launched.
no setteroverride
- devicePixelRatio → double
-
The number of device pixels for each logical pixel for the screen this
view is displayed on.
no setteroverride
- devicePixelRatioTestValue ← double
-
Hides the real device pixel ratio and reports the given
devicePixelRatio
instead.no getter - display → Display
-
The Display this view is drawn in.
no setterinherited
-
displayFeatures
→ List<
DisplayFeature> -
Areas of the display that are obstructed by hardware features.
no setteroverride
-
displayFeaturesTestValue
← List<
DisplayFeature> -
Hides the real displayFeatures and reports the given
displayFeaturesTestValue
instead.no getter - frameData → FrameData
-
The FrameData object for the current frame.
no setteroverride
- gestureSettings → GestureSettings
-
Additional configuration for touch gestures performed on this view.
no setteroverride
- gestureSettingsTestValue ← GestureSettings
-
Hides the real gesture settings and reports the given
gestureSettingsTestValue
instead.no getter - hashCode → int
-
The hash code for this object.
no setterinherited
- initialLifecycleState → String
-
The lifecycle state immediately after dart isolate initialization.
no setteroverride
- locale → Locale
-
The system-reported default locale of the device.
no setteroverride
-
locales
→ List<
Locale> -
The full system-reported supported locales of the device.
no setteroverride
- nativeSpellCheckServiceDefined → bool
-
Whether the spell check service is supported on the current platform.
no setteroverride
- nativeSpellCheckServiceDefinedTestValue ← bool
-
no getter
- onAccessibilityFeaturesChanged ↔ VoidCallback?
-
A callback that is invoked when the value of accessibilityFeatures changes.
getter/setter pairoverride
- onBeginFrame ↔ FrameCallback?
-
A callback that is invoked to notify the window that it is an appropriate
time to provide a scene using the SceneBuilder API and the render
method.
getter/setter pairoverride
- onDrawFrame ↔ VoidCallback?
-
A callback that is invoked for each frame after onBeginFrame has
completed and after the microtask queue has been drained.
getter/setter pairoverride
- onFrameDataChanged ↔ VoidCallback?
-
A callback that is invoked when the window updates the FrameData.
getter/setter pairoverride
- onKeyData ↔ KeyDataCallback?
-
A callback that is invoked when key data is available.
getter/setter pairoverride
- onLocaleChanged ↔ VoidCallback?
-
A callback that is invoked whenever locale changes value.
getter/setter pairoverride
- onMetricsChanged ↔ VoidCallback?
-
A callback that is invoked whenever the devicePixelRatio,
physicalSize, padding, viewInsets, PlatformDispatcher.views, or
systemGestureInsets values change.
getter/setter pairoverride
- onPlatformBrightnessChanged ↔ VoidCallback?
-
A callback that is invoked whenever platformBrightness changes value.
getter/setter pairoverride
- onPlatformMessage ↔ PlatformMessageCallback?
-
Deprecated. Migrate to ChannelBuffers.setListener instead.
getter/setter pairinherited
- onPointerDataPacket ↔ PointerDataPacketCallback?
-
A callback that is invoked when pointer data is available.
getter/setter pairoverride
- onReportTimings ↔ TimingsCallback?
-
A callback that is invoked to report the FrameTiming of recently
rasterized frames.
getter/setter pairoverride
- onSemanticsEnabledChanged ↔ VoidCallback?
-
A callback that is invoked when the value of semanticsEnabled changes.
getter/setter pairoverride
- onSystemFontFamilyChanged ↔ VoidCallback?
-
A callback that is invoked whenever systemFontFamily changes value.
getter/setter pairoverride
- onTextScaleFactorChanged ↔ VoidCallback?
-
A callback that is invoked whenever textScaleFactor changes value.
getter/setter pairoverride
- padding → ViewPadding
-
The number of physical pixels on each side of the display rectangle into
which the view can render, but which may be partially obscured by system
UI (such as the system notification area), or physical intrusions in
the display (e.g. overscan regions on television screens or phone sensor
housings).
no setteroverride
- paddingTestValue ← ViewPadding
-
Hides the real padding and reports the given paddingTestValue instead.
no getter
- physicalConstraints → ViewConstraints
-
The sizing constraints in physical pixels for this view.
no setterinherited
- physicalSize → Size
-
The current dimensions of the rectangle as last reported by the platform
into which scenes rendered in this view are drawn.
no setteroverride
- physicalSizeTestValue ← Size
-
Hides the real physical size and reports the given
physicalSizeTestValue
instead.no getter - platformBrightness → Brightness
-
The setting indicating the current brightness mode of the host platform.
no setteroverride
- platformDispatcher → TestPlatformDispatcher
-
The platform dispatcher that this view is registered with, and gets its
information from.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- semanticsEnabled → bool
-
Whether the user has requested that updateSemantics be called when
the semantic contents of window changes.
no setteroverride
- supportsShowingSystemContextMenu → bool
-
Whether the spell check service is supported on the current platform.
no setterinherited
- systemFontFamily → String?
-
The setting indicating the system font of the host platform.
no setteroverride
- systemGestureInsets → ViewPadding
-
The number of physical pixels on each side of the display rectangle into
which the view can render, but where the operating system will consume
input gestures for the sake of system navigation.
no setteroverride
- systemGestureInsetsTestValue ← ViewPadding
-
Hides the real system gesture insets and reports the given
systemGestureInsetsTestValue instead.
no getter
- textScaleFactor → double
-
The system-reported text scale.
no setteroverride
- viewId → int
-
The opaque ID for this view.
no setteroverride
- viewInsets → ViewPadding
-
The number of physical pixels on each side of the display rectangle into
which the view can render, but over which the operating system will likely
place system UI, such as the keyboard, that fully obscures any content.
no setteroverride
- viewInsetsTestValue ← ViewPadding
-
Hides the real view insets and reports the given viewInsetsTestValue
instead.
no getter
- viewPadding → ViewPadding
-
The number of physical pixels on each side of the display rectangle into
which the view can render, but which may be partially obscured by system
UI (such as the system notification area), or physical intrusions in
the display (e.g. overscan regions on television screens or phone sensor
housings).
no setteroverride
- viewPaddingTestValue ← ViewPadding
-
Hides the real view padding and reports the given paddingTestValue
instead.
no getter
Methods
-
clearAllTestValues(
) → void - Delete any test value properties that have been set on this TestWindow as well as its platformDispatcher.
-
clearDevicePixelRatioTestValue(
) → void - Deletes any existing test device pixel ratio and returns to using the real device pixel ratio.
-
clearDisplayFeaturesTestValue(
) → void - Deletes any existing test padding and returns to using the real padding.
-
clearGestureSettingsTestValue(
) → void - Deletes any existing test gesture settings and returns to using the real gesture settings.
-
clearPaddingTestValue(
) → void - Deletes any existing test padding and returns to using the real padding.
-
clearPhysicalSizeTestValue(
) → void - Deletes any existing test physical size and returns to using the real physical size.
-
clearSystemGestureInsetsTestValue(
) → void - Deletes any existing test system gesture insets and returns to using the real system gesture insets.
-
clearViewInsetsTestValue(
) → void - Deletes any existing test view insets and returns to using the real view insets.
-
clearViewPaddingTestValue(
) → void - Deletes any existing test view padding and returns to using the real viewPadding.
-
computePlatformResolvedLocale(
List< Locale> supportedLocales) → Locale? -
Performs the platform-native locale resolution.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
This gives us some grace time when the dart:ui side adds something to
SingletonFlutterWindow, and makes things easier when we do rolls to give
us time to catch up.
override
-
render(
Scene scene, {Size? size}) → void -
Updates the view's rendering on the GPU with the newly provided Scene.
override
-
scheduleFrame(
) → void -
Requests that, at the next appropriate opportunity, the onBeginFrame and
onDrawFrame callbacks be invoked.
override
-
sendPlatformMessage(
String name, ByteData? data, PlatformMessageResponseCallback? callback) → void -
Sends a message to a platform-specific plugin.
override
-
setIsolateDebugName(
String name) → void -
Set the debug name associated with this platform dispatcher's root
isolate.
override
-
toString(
) → String -
A string representation of this object.
inherited
-
updateSemantics(
SemanticsUpdate update) → void -
Change the retained semantics data about this FlutterView.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited