Unverified Commit 535526b0 authored by Lau Ching Jun's avatar Lau Ching Jun Committed by GitHub

Enable web for some of the golden tests (#46820)

* Make golden test timeout longer, some tests are flaky if the timeout is too short

* Enable some golden tests for web
parent 418b8145
......@@ -82,7 +82,7 @@ void main() {
find.byKey(_painterKey),
matchesGoldenFile('bottom_app_bar_theme.custom_shape.png'),
);
}, skip: isBrowser);
});
testWidgets('BAB theme does not affect defaults', (WidgetTester tester) async {
await tester.pumpWidget(const MaterialApp(
......
......@@ -891,7 +891,7 @@ void main() {
await tester.tap(find.text('Alarm'));
await tester.pump(const Duration(seconds: 1));
expect(Theme.of(tester.element(find.text('Alarm'))).brightness, equals(Brightness.dark));
}, skip: isBrowser);
});
testWidgets('BottomNavigationBar iconSize test', (WidgetTester tester) async {
double builderIconSize;
......@@ -1001,7 +1001,7 @@ void main() {
final RenderBox box = tester.renderObject(find.byType(BottomNavigationBar));
expect(box.size.height, equals(66.0));
}, skip: isBrowser);
});
testWidgets('BottomNavigationBar limits width of tiles with long titles', (WidgetTester tester) async {
final Text longTextA = Text(''.padLeft(100, 'A'));
......@@ -1033,7 +1033,7 @@ void main() {
expect(itemBoxA.size, equals(const Size(400.0, 14.0)));
final RenderBox itemBoxB = tester.renderObject(find.text(longTextB.data));
expect(itemBoxB.size, equals(const Size(400.0, 14.0)));
}, skip: isBrowser);
});
testWidgets('BottomNavigationBar paints circles', (WidgetTester tester) async {
await tester.pumpWidget(
......@@ -1103,7 +1103,7 @@ void main() {
..translate(x: 400.0)
..circle(x: 200.0),
);
}, skip: isBrowser);
});
testWidgets('BottomNavigationBar inactiveIcon shown', (WidgetTester tester) async {
const Key filled = Key('filled');
......@@ -1429,7 +1429,7 @@ void main() {
matchesGoldenFile('bottom_navigation_bar.shifting_transition.$pump.png'),
);
}
}, skip: isBrowser);
});
testWidgets('BottomNavigationBar item title should not be nullable', (WidgetTester tester) async {
expect(() {
......
......@@ -139,7 +139,7 @@ void main() {
find.byKey(painterKey),
matchesGoldenFile('card_theme.custom_shape.png'),
);
}, skip: isBrowser);
});
}
CardTheme _cardTheme() {
......
......@@ -132,7 +132,7 @@ void main() {
find.byKey(_painterKey),
matchesGoldenFile('dialog_theme.dialog_with_custom_border.png'),
);
}, skip: isBrowser);
});
testWidgets('Custom Title Text Style - Constructor Param', (WidgetTester tester) async {
const String titleText = 'Title';
......
......@@ -182,7 +182,7 @@ void main() {
find.ancestor(of: buttonFinder, matching: find.byType(RepaintBoundary)).first,
matchesGoldenFile('dropdown_test.default.png'),
);
}, skip: isBrowser);
});
testWidgets('Expanded dropdown golden', (WidgetTester tester) async {
final Key buttonKey = UniqueKey();
......@@ -194,7 +194,7 @@ void main() {
find.ancestor(of: buttonFinder, matching: find.byType(RepaintBoundary)).first,
matchesGoldenFile('dropdown_test.expanded.png'),
);
}, skip: isBrowser);
});
testWidgets('Dropdown button control test', (WidgetTester tester) async {
String value = 'one';
......
......@@ -85,7 +85,7 @@ void main() {
find.byType(FlexibleSpaceBar),
matchesGoldenFile('flexible_space_bar_stretch_mode.blur_background.png'),
);
}, skip: isBrowser);
});
testWidgets('FlexibleSpaceBar stretch mode fadeTitle', (WidgetTester tester) async {
await tester.pumpWidget(
......
......@@ -717,7 +717,7 @@ void main() {
find.byKey(painterKey),
matchesGoldenFile('material.border_paint_above.png'),
);
}, skip: isBrowser);
});
testWidgets('border is painted below child when specified', (WidgetTester tester) async {
final Key painterKey = UniqueKey();
......@@ -757,6 +757,6 @@ void main() {
find.byKey(painterKey),
matchesGoldenFile('material.border_paint_below.png'),
);
}, skip: isBrowser);
});
});
}
......@@ -282,7 +282,7 @@ void main() {
find.byKey(painterKey),
matchesGoldenFile('radio.ink_ripple.png'),
);
}, skip: isBrowser);
});
testWidgets('Radio is focusable and has correct focus color', (WidgetTester tester) async {
final FocusNode focusNode = FocusNode(debugLabel: 'Radio');
......
......@@ -269,7 +269,7 @@ void main() {
find.byKey(_painterKey),
matchesGoldenFile('tab_bar_theme.tab_indicator_size_tab.png'),
);
}, skip: isBrowser);
});
testWidgets('Tab bar theme overrides tab indicator size (label)', (WidgetTester tester) async {
const TabBarTheme tabBarTheme = TabBarTheme(indicatorSize: TabBarIndicatorSize.label);
......@@ -280,7 +280,7 @@ void main() {
find.byKey(_painterKey),
matchesGoldenFile('tab_bar_theme.tab_indicator_size_label.png'),
);
}, skip: isBrowser);
});
testWidgets('Tab bar theme - custom tab indicator', (WidgetTester tester) async {
final TabBarTheme tabBarTheme = TabBarTheme(
......@@ -296,7 +296,7 @@ void main() {
find.byKey(_painterKey),
matchesGoldenFile('tab_bar_theme.custom_tab_indicator.png'),
);
}, skip: isBrowser);
});
testWidgets('Tab bar theme - beveled rect indicator', (WidgetTester tester) async {
final TabBarTheme tabBarTheme = TabBarTheme(
......@@ -312,5 +312,5 @@ void main() {
find.byKey(_painterKey),
matchesGoldenFile('tab_bar_theme.beveled_rect_indicator.png'),
);
}, skip: isBrowser);
});
}
......@@ -494,7 +494,7 @@ void main() {
find.byType(Overlay),
matchesGoldenFile('text_field_opacity_test.0.png'),
);
}, skip: isBrowser);
});
testWidgets('text field toolbar options correctly changes options (iOS)',
(WidgetTester tester) async {
......@@ -544,7 +544,7 @@ void main() {
expect(find.text('Copy'), findsOneWidget);
expect(find.text('Cut'), findsNothing);
expect(find.text('Select All'), findsNothing);
}, skip: isBrowser);
});
testWidgets('text field toolbar options correctly changes options (Android)',
(WidgetTester tester) async {
......@@ -577,7 +577,7 @@ void main() {
expect(find.text('COPY'), findsOneWidget);
expect(find.text('CUT'), findsNothing);
expect(find.text('SELECT ALL'), findsNothing);
}, skip: isBrowser);
});
// TODO(hansmuller): restore these tests after the fix for #24876 has landed.
/*
......@@ -2853,7 +2853,7 @@ void main() {
// and the left edge of the input and label.
expect(iconRight + 28.0, equals(tester.getTopLeft(find.text('label')).dx));
expect(iconRight + 28.0, equals(tester.getTopLeft(find.byType(EditableText)).dx));
}, skip: isBrowser);
});
testWidgets('Collapsed hint text placement', (WidgetTester tester) async {
await tester.pumpWidget(
......
......@@ -52,7 +52,6 @@ void main() {
matchesGoldenFile('localized_fonts.rich_text.styled_text_span.png'),
);
},
skip: isBrowser, // TODO(yjbanov): implement goldens on the Web: https://github.com/flutter/flutter/issues/40297
);
testWidgets(
......@@ -104,7 +103,6 @@ void main() {
matchesGoldenFile('localized_fonts.text_ambient_locale.chars.png'),
);
},
skip: isBrowser, // TODO(yjbanov): implement goldens on the Web: https://github.com/flutter/flutter/issues/40297
);
testWidgets(
......@@ -148,7 +146,6 @@ void main() {
matchesGoldenFile('localized_fonts.text_explicit_locale.chars.png'),
);
},
skip: isBrowser, // TODO(yjbanov): implement goldens on the Web: https://github.com/flutter/flutter/issues/40297
);
}
......@@ -45,5 +45,5 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('backdrop_filter_test.cull_rect.png'),
);
}, skip: isBrowser);
});
}
......@@ -383,7 +383,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.ClipRect.png'),
);
}, skip: isBrowser);
});
testWidgets('ClipRect save, overlay, and antialiasing', (WidgetTester tester) async {
await tester.pumpWidget(
......@@ -423,7 +423,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.ClipRectOverlay.png'),
);
}, skip: isBrowser);
});
testWidgets('ClipRRect painting', (WidgetTester tester) async {
await tester.pumpWidget(
......@@ -472,7 +472,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.ClipRRect.png'),
);
}, skip: isBrowser);
});
testWidgets('ClipOval painting', (WidgetTester tester) async {
await tester.pumpWidget(
......@@ -515,7 +515,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.ClipOval.png'),
);
}, skip: isBrowser);
});
testWidgets('ClipPath painting', (WidgetTester tester) async {
await tester.pumpWidget(
......@@ -563,7 +563,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.ClipPath.png'),
);
}, skip: isBrowser);
});
Center genPhysicalModel(Clip clipBehavior) {
return Center(
......@@ -608,7 +608,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.PhysicalModel.antiAlias.png'),
);
}, skip: isBrowser);
});
testWidgets('PhysicalModel painting with Clip.hardEdge', (WidgetTester tester) async {
await tester.pumpWidget(genPhysicalModel(Clip.hardEdge));
......@@ -616,7 +616,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.PhysicalModel.hardEdge.png'),
);
}, skip: isBrowser);
});
// There will be bleeding edges on the rect edges, but there shouldn't be any bleeding edges on the
// round corners.
......@@ -626,7 +626,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.PhysicalModel.antiAliasWithSaveLayer.png'),
);
}, skip: isBrowser);
});
testWidgets('Default PhysicalModel painting', (WidgetTester tester) async {
await tester.pumpWidget(
......@@ -668,7 +668,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.PhysicalModel.default.png'),
);
}, skip: isBrowser);
});
Center genPhysicalShape(Clip clipBehavior) {
return Center(
......@@ -717,7 +717,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.PhysicalShape.antiAlias.png'),
);
}, skip: isBrowser);
});
testWidgets('PhysicalShape painting with Clip.hardEdge', (WidgetTester tester) async {
await tester.pumpWidget(genPhysicalShape(Clip.hardEdge));
......@@ -725,7 +725,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.PhysicalShape.hardEdge.png'),
);
}, skip: isBrowser);
});
testWidgets('PhysicalShape painting with Clip.antiAliasWithSaveLayer', (WidgetTester tester) async {
await tester.pumpWidget(genPhysicalShape(Clip.antiAliasWithSaveLayer));
......@@ -733,7 +733,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.PhysicalShape.antiAliasWithSaveLayer.png'),
);
}, skip: isBrowser);
});
testWidgets('PhysicalShape painting', (WidgetTester tester) async {
await tester.pumpWidget(
......@@ -779,7 +779,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('clip.PhysicalShape.default.png'),
);
}, skip: isBrowser);
});
testWidgets('ClipPath.shape', (WidgetTester tester) async {
final List<String> logs = <String>[];
......
......@@ -22,7 +22,7 @@ void main() {
find.byType(RepaintBoundary),
matchesGoldenFile('invert_colors_test.0.png'),
);
}, skip: isBrowser);
});
testWidgets('InvertColors and ColorFilter', (WidgetTester tester) async {
await tester.pumpWidget(const RepaintBoundary(
......@@ -40,7 +40,7 @@ void main() {
find.byType(RepaintBoundary),
matchesGoldenFile('invert_colors_test.1.png'),
);
}, skip: isBrowser);
});
}
// Draws a rectangle sized by the parent widget with [color], [colorFilter],
......
......@@ -537,7 +537,7 @@ void main() {
find.byKey(const Key('list_wheel_scroll_view')),
matchesGoldenFile('list_wheel_scroll_view.center_child.magnified.png'),
);
}, skip: isBrowser);
});
testWidgets('Default middle transform', (WidgetTester tester) async {
await tester.pumpWidget(
......@@ -591,7 +591,7 @@ void main() {
find.byKey(const Key('list_wheel_scroll_view')),
matchesGoldenFile('list_wheel_scroll_view.curved_wheel.left.png'),
);
}, skip: isBrowser);
});
testWidgets('Scrolling, diameterRatio, perspective all changes matrix', (WidgetTester tester) async {
final ScrollController controller = ScrollController(initialScrollOffset: 200.0);
......
......@@ -180,7 +180,7 @@ void main() {
find.byType(RepaintBoundary).first,
matchesGoldenFile('opacity_test.offset.png'),
);
}, skip: isBrowser);
});
testWidgets('empty opacity does not crash', (WidgetTester tester) async {
await tester.pumpWidget(
......@@ -191,5 +191,5 @@ void main() {
// empty opacity layer is sent.
final OffsetLayer offsetLayer = element.renderObject.debugLayer;
await offsetLayer.toImage(const Rect.fromLTRB(0.0, 0.0, 1.0, 1.0));
}, skip: isBrowser);
}, skip: isBrowser); // `Layer.toImage()` doesn't work on web
}
......@@ -112,7 +112,7 @@ void main() {
find.byKey(key),
matchesGoldenFile('physical_model_overflow.png'),
);
}, skip: isBrowser);
});
group('PhysicalModelLayer checks elevation', () {
Future<void> _testStackChildren(
......
......@@ -69,7 +69,7 @@ class MatchesGoldenFile extends AsyncMatcher {
} on TestFailure catch (ex) {
return ex.message;
}
}, additionalTime: const Duration(seconds: 11));
}, additionalTime: const Duration(seconds: 22));
_renderElement(binding.window, _findRepaintBoundary(e));
return result;
}
......
......@@ -855,7 +855,7 @@ class TestGoldenComparator {
final TestGoldenComparatorProcess process = await _processForTestFile(testUri);
process.sendCommand(imageFile, goldenKey, updateGoldens);
final Map<String, dynamic> result = await process.getResponse().timeout(const Duration(seconds: 10));
final Map<String, dynamic> result = await process.getResponse().timeout(const Duration(seconds: 20));
if (result == null) {
return 'unknown error';
......
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