[ci] Roll Flutter to f842ed91 (#4513)

Rolls Flutter `master` to f842ed916514879fe6898b2a5a4053c63c3308fe manually.

The switch to Material 3 by default broke the expectations of the `dynamic_layouts` package; this updates them to handle the values reported starting with that switch.
This commit is contained in:
stuartmorgan
2023-07-18 14:00:09 -07:00
committed by GitHub
parent af584ff7b5
commit 7f07f6655a
2 changed files with 28 additions and 9 deletions

View File

@ -1 +1 @@
c40173f114fa8b830531578586f4f4eedd2b2c1f
f842ed916514879fe6898b2a5a4053c63c3308fe

View File

@ -3,17 +3,17 @@
// found in the LICENSE file.
import 'package:example/wrap_layout_example.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('Check that the children are layed out.',
(WidgetTester tester) async {
await tester.pumpWidget(
const MaterialApp(
const MaterialApp app = MaterialApp(
home: WrapExample(),
),
);
await tester.pumpWidget(app);
await tester.pumpAndSettle();
// See if there are children layed out.
@ -23,10 +23,29 @@ void main() {
expect(find.text('Index 3'), findsOneWidget);
expect(find.text('Index 4'), findsOneWidget);
// Material 3 changes the expected layout positioning.
final bool usesMaterial3 = (app.theme ?? ThemeData.light()).useMaterial3;
final Offset offset0 = usesMaterial3
? Offset(0.0, _getExpectedYOffset(91.0))
: const Offset(0.0, 103.0);
final Offset offset1 = usesMaterial3
? Offset(65.0, _getExpectedYOffset(121.0))
: const Offset(66.0, 124.0);
final Offset offset3 = usesMaterial3
? Offset(270.0, _getExpectedYOffset(171.0))
: const Offset(271.0, 174.0);
final Offset offset4 = usesMaterial3
? Offset(380.0, _getExpectedYOffset(221.0))
: const Offset(381.0, 224.0);
// See if they are in expected position.
expect(tester.getTopLeft(find.text('Index 0')), const Offset(0.0, 103.0));
expect(tester.getTopLeft(find.text('Index 1')), const Offset(66.0, 124.0));
expect(tester.getTopLeft(find.text('Index 3')), const Offset(271.0, 174.0));
expect(tester.getTopLeft(find.text('Index 4')), const Offset(381.0, 224.0));
expect(tester.getTopLeft(find.text('Index 0')), offset0);
expect(tester.getTopLeft(find.text('Index 1')), offset1);
expect(tester.getTopLeft(find.text('Index 3')), offset3);
expect(tester.getTopLeft(find.text('Index 4')), offset4);
});
}
double _getExpectedYOffset(double nonWeb) {
return kIsWeb ? nonWeb - 0.5 : nonWeb;
}