import 'dart:typed_data' show ByteData;
import 'dart:ui' hide window;
import 'package:meta/meta.dart';
class TestWindow implements Window {
TestWindow({
@required Window window,
}) : _window = window;
final Window _window;
@override
double get devicePixelRatio => _devicePixelRatio ?? _window.devicePixelRatio;
double _devicePixelRatio;
set devicePixelRatioTestValue(double devicePixelRatio) {
_devicePixelRatio = devicePixelRatio;
onMetricsChanged();
}
void clearDevicePixelRatioTestValue() {
_devicePixelRatio = null;
onMetricsChanged();
}
@override
Size get physicalSize => _physicalSizeTestValue ?? _window.physicalSize;
Size _physicalSizeTestValue;
set physicalSizeTestValue (Size physicalSizeTestValue) {
_physicalSizeTestValue = physicalSizeTestValue;
onMetricsChanged();
}
void clearPhysicalSizeTestValue() {
_physicalSizeTestValue = null;
onMetricsChanged();
}
@override
double get physicalDepth => _physicalDepthTestValue ?? _window.physicalDepth;
double _physicalDepthTestValue;
set physicalDepthTestValue (double physicalDepthTestValue) {
_physicalDepthTestValue = physicalDepthTestValue;
onMetricsChanged();
}
void clearPhysicalDepthTestValue() {
_physicalDepthTestValue = null;
onMetricsChanged();
}
@override
WindowPadding get viewInsets => _viewInsetsTestValue ?? _window.viewInsets;
WindowPadding _viewInsetsTestValue;
set viewInsetsTestValue(WindowPadding viewInsetsTestValue) {
_viewInsetsTestValue = viewInsetsTestValue;
onMetricsChanged();
}
void clearViewInsetsTestValue() {
_viewInsetsTestValue = null;
onMetricsChanged();
}
@override
WindowPadding get viewPadding => _viewPaddingTestValue ?? _window.padding;
WindowPadding _viewPaddingTestValue;
set viewPaddingTestValue(WindowPadding viewPaddingTestValue) {
_viewPaddingTestValue = viewPaddingTestValue;
onMetricsChanged();
}
void clearViewPaddingTestValue() {
_viewPaddingTestValue = null;
onMetricsChanged();
}
@override
WindowPadding get padding => _paddingTestValue ?? _window.padding;
WindowPadding _paddingTestValue;
set paddingTestValue(WindowPadding paddingTestValue) {
_paddingTestValue = paddingTestValue;
onMetricsChanged();
}
void clearPaddingTestValue() {
_paddingTestValue = null;
onMetricsChanged();
}
@override
VoidCallback get onMetricsChanged => _window.onMetricsChanged;
@override
set onMetricsChanged(VoidCallback callback) {
_window.onMetricsChanged = callback;
}
@override
Locale get locale => _localeTestValue ?? _window.locale;
Locale _localeTestValue;
set localeTestValue(Locale localeTestValue) {
_localeTestValue = localeTestValue;
onLocaleChanged();
}
void clearLocaleTestValue() {
_localeTestValue = null;
onLocaleChanged();
}
@override
List<Locale> get locales => _localesTestValue ?? _window.locales;
List<Locale> _localesTestValue;
set localesTestValue(List<Locale> localesTestValue) {
_localesTestValue = localesTestValue;
onLocaleChanged();
}
void clearLocalesTestValue() {
_localesTestValue = null;
onLocaleChanged();
}
@override
VoidCallback get onLocaleChanged => _window.onLocaleChanged;
@override
set onLocaleChanged(VoidCallback callback) {
_window.onLocaleChanged = callback;
}
@override
String get initialLifecycleState => _initialLifecycleStateTestValue;
String _initialLifecycleStateTestValue;
set initialLifecycleStateTestValue(String state) {
_initialLifecycleStateTestValue = state;
}
@override
double get textScaleFactor => _textScaleFactorTestValue ?? _window.textScaleFactor;
double _textScaleFactorTestValue;
set textScaleFactorTestValue(double textScaleFactorTestValue) {
_textScaleFactorTestValue = textScaleFactorTestValue;
onTextScaleFactorChanged();
}
void clearTextScaleFactorTestValue() {
_textScaleFactorTestValue = null;
onTextScaleFactorChanged();
}
@override
Brightness get platformBrightness => _platformBrightnessTestValue ?? _window.platformBrightness;
Brightness _platformBrightnessTestValue;
@override
VoidCallback get onPlatformBrightnessChanged => _window.onPlatformBrightnessChanged;
@override
set onPlatformBrightnessChanged(VoidCallback callback) {
_window.onPlatformBrightnessChanged = callback;
}
set platformBrightnessTestValue(Brightness platformBrightnessTestValue) {
_platformBrightnessTestValue = platformBrightnessTestValue;
onPlatformBrightnessChanged();
}
void clearPlatformBrightnessTestValue() {
_platformBrightnessTestValue = null;
onPlatformBrightnessChanged();
}
@override
bool get alwaysUse24HourFormat => _alwaysUse24HourFormatTestValue ?? _window.alwaysUse24HourFormat;
bool _alwaysUse24HourFormatTestValue;
set alwaysUse24HourFormatTestValue(bool alwaysUse24HourFormatTestValue) {
_alwaysUse24HourFormatTestValue = alwaysUse24HourFormatTestValue;
}
void clearAlwaysUse24HourTestValue() {
_alwaysUse24HourFormatTestValue = null;
}
@override
VoidCallback get onTextScaleFactorChanged => _window.onTextScaleFactorChanged;
@override
set onTextScaleFactorChanged(VoidCallback callback) {
_window.onTextScaleFactorChanged = callback;
}
@override
FrameCallback get onBeginFrame => _window.onBeginFrame;
@override
set onBeginFrame(FrameCallback callback) {
_window.onBeginFrame = callback;
}
@override
VoidCallback get onDrawFrame => _window.onDrawFrame;
@override
set onDrawFrame(VoidCallback callback) {
_window.onDrawFrame = callback;
}
@override
TimingsCallback get onReportTimings => _window.onReportTimings;
@override
set onReportTimings(TimingsCallback callback) {
_window.onReportTimings = callback;
}
@override
PointerDataPacketCallback get onPointerDataPacket => _window.onPointerDataPacket;
@override
set onPointerDataPacket(PointerDataPacketCallback callback) {
_window.onPointerDataPacket = callback;
}
@override
String get defaultRouteName => _defaultRouteNameTestValue ?? _window.defaultRouteName;
String _defaultRouteNameTestValue;
set defaultRouteNameTestValue(String defaultRouteNameTestValue) {
_defaultRouteNameTestValue = defaultRouteNameTestValue;
}
void clearDefaultRouteNameTestValue() {
_defaultRouteNameTestValue = null;
}
@override
void scheduleFrame() {
_window.scheduleFrame();
}
@override
void render(Scene scene) {
_window.render(scene);
}
@override
bool get semanticsEnabled => _semanticsEnabledTestValue ?? _window.semanticsEnabled;
bool _semanticsEnabledTestValue;
set semanticsEnabledTestValue(bool semanticsEnabledTestValue) {
_semanticsEnabledTestValue = semanticsEnabledTestValue;
onSemanticsEnabledChanged();
}
void clearSemanticsEnabledTestValue() {
_semanticsEnabledTestValue = null;
onSemanticsEnabledChanged();
}
@override
VoidCallback get onSemanticsEnabledChanged => _window.onSemanticsEnabledChanged;
@override
set onSemanticsEnabledChanged(VoidCallback callback) {
_window.onSemanticsEnabledChanged = callback;
}
@override
SemanticsActionCallback get onSemanticsAction => _window.onSemanticsAction;
@override
set onSemanticsAction(SemanticsActionCallback callback) {
_window.onSemanticsAction = callback;
}
@override
AccessibilityFeatures get accessibilityFeatures => _accessibilityFeaturesTestValue ?? _window.accessibilityFeatures;
AccessibilityFeatures _accessibilityFeaturesTestValue;
set accessibilityFeaturesTestValue(AccessibilityFeatures accessibilityFeaturesTestValue) {
_accessibilityFeaturesTestValue = accessibilityFeaturesTestValue;
onAccessibilityFeaturesChanged();
}
void clearAccessibilityFeaturesTestValue() {
_accessibilityFeaturesTestValue = null;
onAccessibilityFeaturesChanged();
}
@override
VoidCallback get onAccessibilityFeaturesChanged => _window.onAccessibilityFeaturesChanged;
@override
set onAccessibilityFeaturesChanged(VoidCallback callback) {
_window.onAccessibilityFeaturesChanged = callback;
}
@override
void updateSemantics(SemanticsUpdate update) {
_window.updateSemantics(update);
}
@override
void setIsolateDebugName(String name) {
_window.setIsolateDebugName(name);
}
@override
void sendPlatformMessage(
String name,
ByteData data,
PlatformMessageResponseCallback callback,
) {
_window.sendPlatformMessage(name, data, callback);
}
@override
PlatformMessageCallback get onPlatformMessage => _window.onPlatformMessage;
@override
set onPlatformMessage(PlatformMessageCallback callback) {
_window.onPlatformMessage = callback;
}
void clearAllTestValues() {
clearAccessibilityFeaturesTestValue();
clearAlwaysUse24HourTestValue();
clearDefaultRouteNameTestValue();
clearDevicePixelRatioTestValue();
clearPlatformBrightnessTestValue();
clearLocaleTestValue();
clearLocalesTestValue();
clearPaddingTestValue();
clearPhysicalSizeTestValue();
clearPhysicalDepthTestValue();
clearSemanticsEnabledTestValue();
clearTextScaleFactorTestValue();
clearViewInsetsTestValue();
}
@override
dynamic noSuchMethod(Invocation invocation) {
return null;
}
}