Skip to content

Commit

Permalink
[ci] Roll Flutter to f842ed9 (#4513)
Browse files Browse the repository at this point in the history
Rolls Flutter `master` to f842ed9 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.
  • Loading branch information
stuartmorgan authored Jul 18, 2023
1 parent af584ff commit 7f07f66
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 9 deletions.
2 changes: 1 addition & 1 deletion .ci/flutter_master.version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
c40173f114fa8b830531578586f4f4eedd2b2c1f
f842ed916514879fe6898b2a5a4053c63c3308fe
35 changes: 27 additions & 8 deletions packages/dynamic_layouts/example/test/wrap_example_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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(
home: WrapExample(),
),
const MaterialApp app = MaterialApp(
home: WrapExample(),
);
await tester.pumpWidget(app);
await tester.pumpAndSettle();

// See if there are children layed out.
Expand All @@ -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;
}

0 comments on commit 7f07f66

Please sign in to comment.