Unverified Commit b0381df1 authored by Flutter GitHub Bot's avatar Flutter GitHub Bot Committed by GitHub

Unlooping Golden File Tests (#51883)

parent 0b8129db
...@@ -1404,12 +1404,11 @@ void main() { ...@@ -1404,12 +1404,11 @@ void main() {
expect(tester.widget<Material>(backgroundMaterial).color, Colors.green); expect(tester.widget<Material>(backgroundMaterial).color, Colors.green);
}); });
testWidgets('BottomNavigationBar shifting backgroundColor with transition', (WidgetTester tester) async { group('BottomNavigationBar shifting backgroundColor with transition', () {
// Regression test for: https://github.com/flutter/flutter/issues/22226 // Regression test for: https://github.com/flutter/flutter/issues/22226
Widget runTest() {
int _currentIndex = 0; int _currentIndex = 0;
await tester.pumpWidget( return MaterialApp(
MaterialApp(
home: StatefulBuilder( home: StatefulBuilder(
builder: (BuildContext context, StateSetter setState) { builder: (BuildContext context, StateSetter setState) {
return Scaffold( return Scaffold(
...@@ -1439,19 +1438,23 @@ void main() { ...@@ -1439,19 +1438,23 @@ void main() {
); );
}, },
), ),
),
); );
}
for (int pump = 1; pump < 9; pump++) {
testWidgets('pump $pump', (WidgetTester tester) async {
await tester.pumpWidget(runTest());
await tester.tap(find.text('Green')); await tester.tap(find.text('Green'));
for (int pump = 0; pump < 8; pump++) { for (int i = 0; i < pump; i++) {
await tester.pump(const Duration(milliseconds: 30)); await tester.pump(const Duration(milliseconds: 30));
}
await expectLater( await expectLater(
find.byType(BottomNavigationBar), find.byType(BottomNavigationBar),
matchesGoldenFile('bottom_navigation_bar.shifting_transition.$pump.png'), matchesGoldenFile('bottom_navigation_bar.shifting_transition.${pump - 1}.png'),
); );
}, skip: isBrowser); // TODO(yjbanov): web does not support golden tests yet: https://github.com/flutter/flutter/issues/40297
} }
}, skip: isBrowser); });
testWidgets('BottomNavigationBar item title should not be nullable', (WidgetTester tester) async { testWidgets('BottomNavigationBar item title should not be nullable', (WidgetTester tester) async {
expect(() { expect(() {
......
...@@ -681,10 +681,10 @@ void main() { ...@@ -681,10 +681,10 @@ void main() {
await expectLater( await expectLater(
find.byType(TextField), find.byType(TextField),
matchesGoldenFile('text_field_cursor_width_test.0.0.png', version: 0), matchesGoldenFile('text_field_cursor_width_test.0.png'),
); );
EditableText.debugDeterministicCursor = false; EditableText.debugDeterministicCursor = false;
}, skip: !isLinux); });
testWidgets('cursor layout has correct radius', (WidgetTester tester) async { testWidgets('cursor layout has correct radius', (WidgetTester tester) async {
EditableText.debugDeterministicCursor = true; EditableText.debugDeterministicCursor = true;
...@@ -703,10 +703,10 @@ void main() { ...@@ -703,10 +703,10 @@ void main() {
await expectLater( await expectLater(
find.byType(TextField), find.byType(TextField),
matchesGoldenFile('text_field_cursor_width_test.1.0.png', version: 0), matchesGoldenFile('text_field_cursor_width_test.1.png'),
); );
EditableText.debugDeterministicCursor = false; EditableText.debugDeterministicCursor = false;
}, skip: !isLinux); });
testWidgets('Overflowing a line with spaces stops the cursor at the end', (WidgetTester tester) async { testWidgets('Overflowing a line with spaces stops the cursor at the end', (WidgetTester tester) async {
final TextEditingController controller = TextEditingController(); final TextEditingController controller = TextEditingController();
......
...@@ -813,17 +813,21 @@ void main() { ...@@ -813,17 +813,21 @@ void main() {
); );
} }
testWidgets('Gradients - 45 degrees', (WidgetTester tester) async { group('Gradients - 45 degrees', () {
for (final Gradient gradient in gradients45) { for (final Gradient gradient in gradients45) {
testWidgets('$gradient', (WidgetTester tester) async {
await runTest(tester, gradient, 45); await runTest(tester, gradient, 45);
}
}, skip: isBrowser); // TODO(yjbanov): web does not support golden tests yet: https://github.com/flutter/flutter/issues/40297 }, skip: isBrowser); // TODO(yjbanov): web does not support golden tests yet: https://github.com/flutter/flutter/issues/40297
}
});
testWidgets('Gradients - 90 degrees', (WidgetTester tester) async { group('Gradients - 90 degrees', () {
for (final Gradient gradient in gradients90) { for (final Gradient gradient in gradients90) {
testWidgets('$gradient', (WidgetTester tester) async {
await runTest(tester, gradient, 90); await runTest(tester, gradient, 90);
}
}, skip: isBrowser); // TODO(yjbanov): web does not support golden tests yet: https://github.com/flutter/flutter/issues/40297 }, skip: isBrowser); // TODO(yjbanov): web does not support golden tests yet: https://github.com/flutter/flutter/issues/40297
}
});
}); });
} }
......
...@@ -39,8 +39,7 @@ void main() { ...@@ -39,8 +39,7 @@ void main() {
debugDisableShadows = true; debugDisableShadows = true;
}); });
testWidgets('Shadows on ShapeDecoration', (WidgetTester tester) async { group('Shadows on ShapeDecoration', () {
debugDisableShadows = false;
Widget build(int elevation) { Widget build(int elevation) {
return Center( return Center(
child: RepaintBoundary( child: RepaintBoundary(
...@@ -57,14 +56,17 @@ void main() { ...@@ -57,14 +56,17 @@ void main() {
); );
} }
for (final int elevation in kElevationToShadow.keys) { for (final int elevation in kElevationToShadow.keys) {
testWidgets('elevation $elevation', (WidgetTester tester) async {
debugDisableShadows = false;
await tester.pumpWidget(build(elevation)); await tester.pumpWidget(build(elevation));
await expectLater( await expectLater(
find.byType(Container), find.byType(Container),
matchesGoldenFile('shadow.ShapeDecoration.$elevation.png'), matchesGoldenFile('shadow.ShapeDecoration.$elevation.png'),
); );
}
debugDisableShadows = true; debugDisableShadows = true;
}); });
}
});
testWidgets('Shadows with PhysicalLayer', (WidgetTester tester) async { testWidgets('Shadows with PhysicalLayer', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
...@@ -99,9 +101,7 @@ void main() { ...@@ -99,9 +101,7 @@ void main() {
debugDisableShadows = true; debugDisableShadows = true;
}); });
for (final int elevation in kElevationToShadow.keys) { group('Shadows with PhysicalShape', () {
testWidgets('Shadows with PhysicalShape $elevation', (WidgetTester tester) async {
debugDisableShadows = false;
Widget build(double elevation) { Widget build(double elevation) {
return Center( return Center(
child: RepaintBoundary( child: RepaintBoundary(
...@@ -110,7 +110,8 @@ void main() { ...@@ -110,7 +110,8 @@ void main() {
color: Colors.yellow[200], color: Colors.yellow[200],
child: PhysicalShape( child: PhysicalShape(
color: Colors.green[900], color: Colors.green[900],
clipper: ShapeBorderClipper(shape: BeveledRectangleBorder(borderRadius: BorderRadius.circular(20.0))), clipper: ShapeBorderClipper(shape: BeveledRectangleBorder(
borderRadius: BorderRadius.circular(20.0))),
elevation: elevation, elevation: elevation,
child: const SizedBox( child: const SizedBox(
height: 100.0, height: 100.0,
...@@ -121,6 +122,10 @@ void main() { ...@@ -121,6 +122,10 @@ void main() {
), ),
); );
} }
for (final int elevation in kElevationToShadow.keys) {
testWidgets('elevation $elevation', (WidgetTester tester) async {
debugDisableShadows = false;
await tester.pumpWidget(build(elevation.toDouble())); await tester.pumpWidget(build(elevation.toDouble()));
await expectLater( await expectLater(
find.byType(Container), find.byType(Container),
...@@ -129,4 +134,5 @@ void main() { ...@@ -129,4 +134,5 @@ void main() {
debugDisableShadows = true; debugDisableShadows = true;
}); });
} }
});
} }
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