Unverified Commit 46a81067 authored by yaakovschectman's avatar yaakovschectman Committed by GitHub

Revert "Updates `flutter/test/material` to no longer use `TestWindow` (#122337)" (#122636)

This reverts commit b2fc5f97.
parent b2fc5f97
......@@ -275,7 +275,7 @@ void main() {
// Verify that the time picker is being laid out RTL.
// We expect the left edge of the 'OK' button in the RTL
// layout to match the gap between right edge of the 'OK'
// button and the right edge of the 800 wide view.
// button and the right edge of the 800 wide window.
expect(tester.getBottomLeft(find.text('OK')).dx, 800 - ltrOkRight);
});
......@@ -440,8 +440,8 @@ void main() {
// Portrait layout.
addTearDown(tester.view.reset);
tester.view.physicalSize = const Size(900, 1200);
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
tester.binding.window.physicalSizeTestValue = const Size(900, 1200);
await tester.pumpWidget(buildFrame(TextDirection.ltr));
await tester.tap(find.text('X'));
......@@ -1105,10 +1105,10 @@ void main() {
const Size kSmallScreenSizeLandscape = Size(521, 320);
Future<void> showPicker(WidgetTester tester, Size size, [double textScaleFactor = 1.0]) async {
tester.view.physicalSize = size;
tester.view.devicePixelRatio = 1.0;
addTearDown(tester.view.reset);
tester.binding.window.physicalSizeTestValue = size;
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
tester.binding.window.devicePixelRatioTestValue = 1.0;
addTearDown(tester.binding.window.clearDevicePixelRatioTestValue);
await prepareDatePicker(tester, (Future<DateTime?> date) async {
await tester.tap(find.text('OK'));
});
......
......@@ -424,8 +424,8 @@ void main() {
testWidgets('Disposing drawer does not crash if drawer is open and framework is locked', (WidgetTester tester) async {
// Regression test for https://github.com/flutter/flutter/issues/34978
addTearDown(tester.view.reset);
tester.view.physicalSize = const Size(1800.0, 2400.0);
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
tester.binding.window.physicalSizeTestValue = const Size(1800.0, 2400.0);
await tester.pumpWidget(
MaterialApp(
......@@ -458,15 +458,15 @@ void main() {
// Change the orientation and cause the drawer controller to be disposed
// while the framework is locked.
tester.view.physicalSize = const Size(2400.0, 1800.0);
tester.binding.window.physicalSizeTestValue = const Size(2400.0, 1800.0);
await tester.pumpAndSettle();
expect(find.byType(BackButton), findsNothing);
});
testWidgets('Disposing endDrawer does not crash if endDrawer is open and framework is locked', (WidgetTester tester) async {
// Regression test for https://github.com/flutter/flutter/issues/34978
addTearDown(tester.view.reset);
tester.view.physicalSize = const Size(1800.0, 2400.0);
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
tester.binding.window.physicalSizeTestValue = const Size(1800.0, 2400.0);
await tester.pumpWidget(
MaterialApp(
......@@ -499,7 +499,7 @@ void main() {
// Change the orientation and cause the drawer controller to be disposed
// while the framework is locked.
tester.view.physicalSize = const Size(2400.0, 1800.0);
tester.binding.window.physicalSizeTestValue = const Size(2400.0, 1800.0);
await tester.pumpAndSettle();
expect(find.byType(BackButton), findsNothing);
});
......
......@@ -406,7 +406,7 @@ void main() {
return Directionality(
textDirection: TextDirection.ltr,
child: MediaQuery(
data: MediaQueryData.fromView(tester.view),
data: MediaQueryData.fromView(tester.binding.window),
child: Navigator(
initialRoute: '/',
onGenerateRoute: (RouteSettings settings) {
......@@ -3167,9 +3167,10 @@ void main() {
// The default item height is 48.0 pixels and needs two items padding since
// the menu requires empty space surrounding the menu. Finally, the constraint height
// is 47.0 pixels for the menu rendering.
tester.view.physicalSize = const Size(800.0, 48.0 * 3 - 1.0);
tester.view.devicePixelRatio = 1;
addTearDown(tester.view.reset);
tester.binding.window.physicalSizeTestValue = const Size(800.0, 48.0 * 3 - 1.0);
tester.binding.window.devicePixelRatioTestValue = 1;
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
addTearDown(tester.binding.window.clearDevicePixelRatioTestValue);
const String value = 'foo';
final UniqueKey itemKey = UniqueKey();
......
......@@ -11,7 +11,7 @@ void main() {
int mutatedIndex = -1;
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
final ThemeData theme= ThemeData.from(colorScheme: const ColorScheme.light());
widgetSetup(tester, 3000, viewHeight: 3000);
widgetSetup(tester, 3000, windowHeight: 3000);
final Widget widget = _buildWidget(
scaffoldKey,
NavigationDrawer(
......@@ -154,7 +154,7 @@ void main() {
testWidgets('Navigation drawer is scrollable', (WidgetTester tester) async {
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
widgetSetup(tester, 500, viewHeight: 300);
widgetSetup(tester, 500, windowHeight: 300);
await tester.pumpWidget(
_buildWidget(
scaffoldKey,
......@@ -201,8 +201,8 @@ void main() {
testWidgets('Safe Area test', (WidgetTester tester) async {
final GlobalKey<ScaffoldState> scaffoldKey = GlobalKey<ScaffoldState>();
const double viewHeight = 300;
widgetSetup(tester, 500, viewHeight: viewHeight);
const double windowHeight = 300;
widgetSetup(tester, 500, windowHeight: windowHeight);
await tester.pumpWidget(
MediaQuery(
data: const MediaQueryData(padding: EdgeInsets.all(20.0)),
......@@ -237,7 +237,7 @@ void main() {
);
// No Safe area padding at the bottom.
expect(tester.getBottomRight(find.widgetWithText(NavigationDrawerDestination,'Label4')).dy, viewHeight);
expect(tester.getBottomRight(find.widgetWithText(NavigationDrawerDestination,'Label4')).dy, windowHeight);
});
testWidgets('Navigation drawer semantics', (WidgetTester tester) async {
......@@ -387,8 +387,11 @@ ShapeDecoration? _getIndicatorDecoration(WidgetTester tester) {
.decoration as ShapeDecoration?;
}
void widgetSetup(WidgetTester tester, double viewWidth, {double viewHeight = 1000}) {
tester.view.devicePixelRatio = 2;
final double dpi = tester.view.devicePixelRatio;
tester.view.physicalSize = Size(viewWidth * dpi, viewHeight * dpi);
void widgetSetup(WidgetTester tester, double windowWidth,
{double? windowHeight}) {
final double height = windowHeight ?? 1000;
tester.binding.window.devicePixelRatioTestValue = 2;
final double dpi = tester.binding.window.devicePixelRatio;
tester.binding.window.physicalSizeTestValue =
Size(windowWidth * dpi, height * dpi);
}
......@@ -4,6 +4,7 @@
@Tags(<String>['reduced-test-set'])
library;
import 'dart:ui' as ui;
import 'package:flutter/cupertino.dart' show CupertinoPageRoute;
import 'package:flutter/foundation.dart';
......@@ -238,44 +239,52 @@ void main() {
expect(find.text('Page 2'), findsNothing);
}, variant: TargetPlatformVariant.only(TargetPlatform.android));
testWidgets('test page transition (_ZoomPageTransition) with rasterization re-rasterizes when view insets change', (WidgetTester tester) async {
addTearDown(tester.view.reset);
tester.view.physicalSize = const Size(1000, 1000);
tester.view.viewInsets = FakeViewPadding.zero;
// Intentionally use nested scaffolds to simulate the view insets being
// consumed.
final Key key = GlobalKey();
await tester.pumpWidget(
RepaintBoundary(
key: key,
child: MaterialApp(
onGenerateRoute: (RouteSettings settings) {
return MaterialPageRoute<void>(
builder: (BuildContext context) {
return const Scaffold(body: Scaffold(
body: Material(child: SizedBox.shrink())
));
},
);
},
testWidgets('test page transition (_ZoomPageTransition) with rasterization re-rasterizes when window insets', (WidgetTester tester) async {
late Size oldSize;
late ui.ViewPadding oldInsets;
try {
oldSize = tester.binding.window.physicalSize;
oldInsets = tester.binding.window.viewInsets;
tester.binding.window.physicalSizeTestValue = const Size(1000, 1000);
tester.binding.window.viewInsetsTestValue = ui.ViewPadding.zero;
// Intentionally use nested scaffolds to simulate the view insets being
// consumed.
final Key key = GlobalKey();
await tester.pumpWidget(
RepaintBoundary(
key: key,
child: MaterialApp(
onGenerateRoute: (RouteSettings settings) {
return MaterialPageRoute<void>(
builder: (BuildContext context) {
return const Scaffold(body: Scaffold(
body: Material(child: SizedBox.shrink())
));
},
);
},
),
),
),
);
);
tester.state<NavigatorState>(find.byType(Navigator)).pushNamed('/next');
await tester.pump();
await tester.pump(const Duration(milliseconds: 50));
tester.state<NavigatorState>(find.byType(Navigator)).pushNamed('/next');
await tester.pump();
await tester.pump(const Duration(milliseconds: 50));
await expectLater(find.byKey(key), matchesGoldenFile('zoom_page_transition.small.png'));
await expectLater(find.byKey(key), matchesGoldenFile('zoom_page_transition.small.png'));
// Change the view insets.
tester.view.viewInsets = const FakeViewPadding(bottom: 500);
// Change the view insets.
tester.binding.window.viewInsetsTestValue = const TestViewPadding(left: 0, top: 0, right: 0, bottom: 500);
await tester.pump();
await tester.pump(const Duration(milliseconds: 50));
await tester.pump();
await tester.pump(const Duration(milliseconds: 50));
await expectLater(find.byKey(key), matchesGoldenFile('zoom_page_transition.big.png'));
await expectLater(find.byKey(key), matchesGoldenFile('zoom_page_transition.big.png'));
} finally {
tester.binding.window.physicalSizeTestValue = oldSize;
tester.binding.window.viewInsetsTestValue = oldInsets;
}
}, variant: TargetPlatformVariant.only(TargetPlatform.android), skip: kIsWeb); // [intended] rasterization is not used on the web.
testWidgets(
......@@ -1324,3 +1333,21 @@ class TestDependencies extends StatelessWidget {
);
}
}
class TestViewPadding implements ui.ViewPadding {
const TestViewPadding({
required this.left,
required this.top,
required this.right,
required this.bottom,
});
@override
final double left;
@override
final double top;
@override
final double right;
@override
final double bottom;
}
......@@ -5,9 +5,10 @@
// TODO(gspencergoog): Remove this tag once this test's state leaks/test
// dependencies have been fixed.
// https://github.com/flutter/flutter/issues/85160
// Fails with "flutter test --test-randomize-ordering-seed=20230313"
// Fails with "flutter test --test-randomize-ordering-seed=382757700"
@Tags(<String>['no-shuffle'])
library;
import 'dart:ui' as ui;
import 'package:flutter/cupertino.dart';
......@@ -147,7 +148,7 @@ void main() {
pixels: 0.0,
viewportDimension: 100.0,
axisDirection: AxisDirection.down,
devicePixelRatio: tester.view.devicePixelRatio,
devicePixelRatio: tester.binding.window.devicePixelRatio,
);
scrollPainter!.update(metrics, AxisDirection.down);
......
......@@ -2,14 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// no-shuffle:
// //TODO(gspencergoog): Remove this tag once this test's state leaks/test
// dependencies have been fixed.
// https://github.com/flutter/flutter/issues/85160
// Fails with "flutter test --test-randomize-ordering-seed=456"
// reduced-test-set:
// This file is run as part of a reduced test set in CI on Mac and Windows
// machines.
@Tags(<String>['reduced-test-set'])
@Tags(<String>['reduced-test-set', 'no-shuffle'])
library;
import 'dart:math' as math;
import 'dart:ui' as ui show BoxHeightStyle, BoxWidthStyle;
import 'dart:ui' as ui show BoxHeightStyle, BoxWidthStyle, ViewPadding;
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
......@@ -135,6 +140,26 @@ class TestFormatter extends TextInputFormatter {
}
}
// Used to set window.viewInsets since the real ui.WindowPadding has only a
// private constructor.
class _TestViewPadding implements ui.ViewPadding {
const _TestViewPadding({
required this.bottom,
});
@override
final double bottom;
@override
double get top => 0.0;
@override
double get left => 0.0;
@override
double get right => 0.0;
}
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
final MockClipboard mockClipboard = MockClipboard();
......@@ -3524,8 +3549,10 @@ void main() {
// Add a viewInset tall enough to push the field to the top, where there
// is no room to display the toolbar above. This is similar to when the
// keyboard is shown.
tester.view.viewInsets = const FakeViewPadding(bottom: 500.0);
addTearDown(tester.view.reset);
tester.binding.window.viewInsetsTestValue = const _TestViewPadding(
bottom: 500.0,
);
addTearDown(tester.binding.window.clearViewInsetsTestValue);
await tester.pumpAndSettle();
// Verify the selection toolbar position is below the text.
......@@ -3534,7 +3561,7 @@ void main() {
expect(toolbarTopLeft.dy, greaterThan(textFieldTopLeft.dy));
// Remove the viewInset, as if the keyboard were hidden.
tester.view.resetViewInsets();
tester.binding.window.clearViewInsetsTestValue();
await tester.pumpAndSettle();
// Verify the selection toolbar position is below the text.
......@@ -4938,9 +4965,9 @@ void main() {
editable.getLocalRectForCaret(const TextPosition(offset: 0)).topLeft,
);
// The overlay() function centers its child within a 800x600 view.
// Default cursorWidth is 2.0, test viewWidth is 800
// Centered cursor topLeft.dx: 399 == viewWidth/2 - cursorWidth/2
// The overlay() function centers its child within a 800x600 window.
// Default cursorWidth is 2.0, test windowWidth is 800
// Centered cursor topLeft.dx: 399 == windowWidth/2 - cursorWidth/2
expect(topLeft.dx, equals(399.0));
await tester.enterText(find.byType(TextField), 'abcd');
......@@ -4974,9 +5001,9 @@ void main() {
editable.getLocalRectForCaret(const TextPosition(offset: 0)).topLeft,
);
// The overlay() function centers its child within a 800x600 view.
// Default cursorWidth is 2.0, test viewWidth is 800
// Centered cursor topLeft.dx: 399 == viewWidth/2 - cursorWidth/2
// The overlay() function centers its child within a 800x600 window.
// Default cursorWidth is 2.0, test windowWidth is 800
// Centered cursor topLeft.dx: 399 == windowWidth/2 - cursorWidth/2
expect(topLeft.dx, equals(399.0));
await tester.enterText(find.byType(TextField), 'abcd');
......
......@@ -158,8 +158,8 @@ void main() {
testWidgets("When menu items don't fit, an overflow menu is used.", (WidgetTester tester) async {
// Set the screen size to more narrow, so that Select all can't fit.
tester.view.physicalSize = const Size(1000, 800);
addTearDown(tester.view.reset);
tester.binding.window.physicalSizeTestValue = const Size(1000, 800);
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
final TextEditingController controller = TextEditingController(text: 'abc def ghi');
await tester.pumpWidget(MaterialApp(
......@@ -232,8 +232,8 @@ void main() {
testWidgets('A smaller menu bumps more items to the overflow menu.', (WidgetTester tester) async {
// Set the screen size so narrow that only Cut and Copy can fit.
tester.view.physicalSize = const Size(800, 800);
addTearDown(tester.view.reset);
tester.binding.window.physicalSizeTestValue = const Size(800, 800);
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
final TextEditingController controller = TextEditingController(text: 'abc def ghi');
await tester.pumpWidget(MaterialApp(
......@@ -297,8 +297,8 @@ void main() {
testWidgets('When the menu renders below the text, the overflow menu back button is at the top.', (WidgetTester tester) async {
// Set the screen size to more narrow, so that Select all can't fit.
tester.view.physicalSize = const Size(1000, 800);
addTearDown(tester.view.reset);
tester.binding.window.physicalSizeTestValue = const Size(1000, 800);
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
final TextEditingController controller = TextEditingController(text: 'abc def ghi');
await tester.pumpWidget(MaterialApp(
......@@ -371,8 +371,8 @@ void main() {
testWidgets('When the menu items change, the menu is closed and _closedWidth reset.', (WidgetTester tester) async {
// Set the screen size to more narrow, so that Select all can't fit.
tester.view.physicalSize = const Size(1000, 800);
addTearDown(tester.view.reset);
tester.binding.window.physicalSizeTestValue = const Size(1000, 800);
addTearDown(tester.binding.window.clearPhysicalSizeTestValue);
final TextEditingController controller = TextEditingController(text: 'abc def ghi');
await tester.pumpWidget(MaterialApp(
......
......@@ -361,11 +361,9 @@ void main() {
}
testWidgets('when change orientation, should reflect in render objects', (WidgetTester tester) async {
addTearDown(tester.view.reset);
// portrait
tester.view.physicalSize = const Size(800, 800.5);
tester.view.devicePixelRatio = 1;
tester.binding.window.physicalSizeTestValue = const Size(800, 800.5);
tester.binding.window.devicePixelRatioTestValue = 1;
await mediaQueryBoilerplate(tester, materialType: materialType);
RenderObject render = tester.renderObject(
......@@ -374,28 +372,32 @@ void main() {
expect((render as dynamic).orientation, Orientation.portrait); // ignore: avoid_dynamic_calls
// landscape
tester.view.physicalSize = const Size(800.5, 800);
tester.view.devicePixelRatio = 1;
tester.binding.window.physicalSizeTestValue = const Size(800.5, 800);
tester.binding.window.devicePixelRatioTestValue = 1;
await mediaQueryBoilerplate(tester, tapButton: false, materialType: materialType);
render = tester.renderObject(
find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_DayPeriodInputPadding'),
);
expect((render as dynamic).orientation, Orientation.landscape); // ignore: avoid_dynamic_calls
tester.binding.window.clearPhysicalSizeTestValue();
tester.binding.window.clearDevicePixelRatioTestValue();
});
testWidgets('setting orientation should override MediaQuery orientation', (WidgetTester tester) async {
addTearDown(tester.view.reset);
// portrait media query
tester.view.physicalSize = const Size(800, 800.5);
tester.view.devicePixelRatio = 1;
tester.binding.window.physicalSizeTestValue = const Size(800, 800.5);
tester.binding.window.devicePixelRatioTestValue = 1;
await mediaQueryBoilerplate(tester, orientation: Orientation.landscape, materialType: materialType);
final RenderObject render = tester.renderObject(
find.byWidgetPredicate((Widget w) => '${w.runtimeType}' == '_DayPeriodInputPadding'),
);
expect((render as dynamic).orientation, Orientation.landscape); // ignore: avoid_dynamic_calls
tester.binding.window.clearPhysicalSizeTestValue();
tester.binding.window.clearDevicePixelRatioTestValue();
});
testWidgets('builder parameter', (WidgetTester tester) async {
......@@ -442,7 +444,7 @@ void main() {
// Verify that the time picker is being laid out RTL.
// We expect the left edge of the 'OK' button in the RTL
// layout to match the gap between right edge of the 'OK'
// button and the right edge of the 800 wide view.
// button and the right edge of the 800 wide window.
expect(tester.getBottomLeft(find.text(okString)).dx, 800 - ltrOkRight);
});
......@@ -781,21 +783,19 @@ void main() {
group('Works for various view sizes', () {
for (final Size size in const <Size>[Size(100, 100), Size(300, 300), Size(800, 600)]) {
testWidgets('Draws dial without overflows at $size', (WidgetTester tester) async {
tester.view.physicalSize = size;
addTearDown(tester.view.reset);
tester.binding.window.physicalSizeTestValue = size;
await mediaQueryBoilerplate(tester, entryMode: TimePickerEntryMode.input, materialType: materialType);
await tester.pumpAndSettle();
expect(tester.takeException(), isNot(throwsAssertionError));
tester.binding.window.clearPhysicalSizeTestValue();
});
testWidgets('Draws input without overflows at $size', (WidgetTester tester) async {
tester.view.physicalSize = size;
addTearDown(tester.view.reset);
tester.binding.window.physicalSizeTestValue = size;
await mediaQueryBoilerplate(tester, materialType: materialType);
await tester.pumpAndSettle();
expect(tester.takeException(), isNot(throwsAssertionError));
tester.binding.window.clearPhysicalSizeTestValue();
});
}
});
......@@ -1035,10 +1035,8 @@ void main() {
testWidgets('header touch regions are large enough', (WidgetTester tester) async {
// Ensure picker is displayed in portrait mode.
tester.view.physicalSize = const Size(400, 800);
tester.view.devicePixelRatio = 1;
addTearDown(tester.view.reset);
tester.binding.window.physicalSizeTestValue = const Size(400, 800);
tester.binding.window.devicePixelRatioTestValue = 1;
await mediaQueryBoilerplate(tester, materialType: materialType);
final Size dayPeriodControlSize = tester.getSize(
......@@ -1060,6 +1058,9 @@ void main() {
));
expect(minuteSize.width, greaterThanOrEqualTo(48));
expect(minuteSize.height, greaterThanOrEqualTo(48));
tester.binding.window.clearPhysicalSizeTestValue();
tester.binding.window.clearDevicePixelRatioTestValue();
});
});
......@@ -1550,7 +1551,7 @@ Future<void> mediaQueryBoilerplate(
alwaysUse24HourFormat: alwaysUse24HourFormat,
textScaleFactor: textScaleFactor,
accessibleNavigation: accessibleNavigation,
size: tester.view.physicalSize / tester.view.devicePixelRatio,
size: tester.binding.window.physicalSize / tester.binding.window.devicePixelRatio,
),
child: Material(
child: Center(
......
......@@ -124,9 +124,6 @@ class FakeViewPadding implements ViewPadding {
right = base.right,
bottom = base.bottom;
/// A view padding that has zeros for each edge.
static const FakeViewPadding zero = FakeViewPadding();
@override
final double left;
......
......@@ -82,7 +82,7 @@ void main() {
verifyPropertyFaked<ViewPadding>(
tester: tester,
realValue: trueImplicitView().padding,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () => boundImplicitView().padding,
propertyFaker: (_, ViewPadding fakeValue) {
tester.view.padding = fakeValue as FakeViewPadding;
......@@ -94,7 +94,7 @@ void main() {
testWidgets('can reset padding', (WidgetTester tester) async {
verifyPropertyReset<ViewPadding>(
tester: tester,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () => boundImplicitView().padding,
propertyResetter: () {
tester.view.resetPadding();
......@@ -180,7 +180,7 @@ void main() {
verifyPropertyFaked<ViewPadding>(
tester: tester,
realValue: trueImplicitView().systemGestureInsets,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () => boundImplicitView().systemGestureInsets,
propertyFaker: (_, ViewPadding fakeValue) {
tester.view.systemGestureInsets = fakeValue as FakeViewPadding;
......@@ -192,7 +192,7 @@ void main() {
testWidgets('can reset systemGestureInsets', (WidgetTester tester) async {
verifyPropertyReset<ViewPadding>(
tester: tester,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () => boundImplicitView().systemGestureInsets,
propertyResetter: () {
tester.view.resetSystemGestureInsets();
......@@ -208,7 +208,7 @@ void main() {
verifyPropertyFaked<ViewPadding>(
tester: tester,
realValue: trueImplicitView().viewInsets,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () => boundImplicitView().viewInsets,
propertyFaker: (_, ViewPadding fakeValue) {
tester.view.viewInsets = fakeValue as FakeViewPadding;
......@@ -220,7 +220,7 @@ void main() {
testWidgets('can reset viewInsets', (WidgetTester tester) async {
verifyPropertyReset<ViewPadding>(
tester: tester,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () => boundImplicitView().viewInsets,
propertyResetter: () {
tester.view.resetViewInsets();
......@@ -236,7 +236,7 @@ void main() {
verifyPropertyFaked<ViewPadding>(
tester: tester,
realValue: trueImplicitView().viewPadding,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () => boundImplicitView().viewPadding,
propertyFaker: (_, ViewPadding fakeValue) {
tester.view.viewPadding = fakeValue as FakeViewPadding;
......@@ -248,7 +248,7 @@ void main() {
testWidgets('can reset viewPadding', (WidgetTester tester) async {
verifyPropertyReset<ViewPadding>(
tester: tester,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () => boundImplicitView().viewPadding,
propertyResetter: () {
tester.view.resetViewPadding();
......@@ -265,11 +265,11 @@ void main() {
tester.view.devicePixelRatio = 7;
tester.view.displayFeatures = <DisplayFeature>[const DisplayFeature(bounds: Rect.fromLTWH(0, 0, 20, 300), type: DisplayFeatureType.unknown, state: DisplayFeatureState.unknown)];
tester.view.padding = FakeViewPadding.zero;
tester.view.padding = const FakeViewPadding();
tester.view.physicalGeometry = const Rect.fromLTWH(0, 0, 505, 805);
tester.view.systemGestureInsets = FakeViewPadding.zero;
tester.view.viewInsets = FakeViewPadding.zero;
tester.view.viewPadding = FakeViewPadding.zero;
tester.view.systemGestureInsets = const FakeViewPadding();
tester.view.viewInsets = const FakeViewPadding();
tester.view.viewPadding = const FakeViewPadding();
tester.view.gestureSettings = const GestureSettings(physicalTouchSlop: 4, physicalDoubleTapSlop: 5);
final FlutterViewSnapshot faked = FlutterViewSnapshot(tester.view);
......
......@@ -54,7 +54,7 @@ void main() {
verifyPropertyFaked<ViewPadding>(
tester: tester,
realValue: ui.window.viewInsets,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () {
return WidgetsBinding.instance.window.viewInsets;
},
......@@ -69,7 +69,7 @@ void main() {
verifyPropertyFaked<ViewPadding>(
tester: tester,
realValue: ui.window.padding,
fakeValue: FakeViewPadding.zero,
fakeValue: const FakeViewPadding(),
propertyRetriever: () {
return WidgetsBinding.instance.window.padding;
},
......@@ -220,11 +220,11 @@ void main() {
testWidgets('Updates to window also update tester.view', (WidgetTester tester) async {
tester.binding.window.devicePixelRatioTestValue = 7;
tester.binding.window.displayFeaturesTestValue = <DisplayFeature>[const DisplayFeature(bounds: Rect.fromLTWH(0, 0, 20, 300), type: DisplayFeatureType.unknown, state: DisplayFeatureState.unknown)];
tester.binding.window.paddingTestValue = FakeViewPadding.zero;
tester.binding.window.paddingTestValue = const FakeViewPadding();
tester.binding.window.physicalSizeTestValue = const Size(505, 805);
tester.binding.window.systemGestureInsetsTestValue = FakeViewPadding.zero;
tester.binding.window.viewInsetsTestValue = FakeViewPadding.zero;
tester.binding.window.viewPaddingTestValue = FakeViewPadding.zero;
tester.binding.window.systemGestureInsetsTestValue = const FakeViewPadding();
tester.binding.window.viewInsetsTestValue = const FakeViewPadding();
tester.binding.window.viewPaddingTestValue = const FakeViewPadding();
tester.binding.window.gestureSettingsTestValue = const GestureSettings(physicalTouchSlop: 4, physicalDoubleTapSlop: 5);
expect(tester.binding.window.devicePixelRatio, tester.view.devicePixelRatio);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment