Unverified Commit e2fb5cc3 authored by Darren Austin's avatar Darren Austin Committed by GitHub

Updated skipped tests for widgets directory. (#87879)

parent 11a0284a
...@@ -270,7 +270,7 @@ void main() { ...@@ -270,7 +270,7 @@ void main() {
expect(errorDetails.exception, isAssertionError); expect(errorDetails.exception, isAssertionError);
const String toMatch = '... Normal element mounting ('; const String toMatch = '... Normal element mounting (';
expect(toMatch.allMatches(errorDetails.toString()).length, 1); expect(toMatch.allMatches(errorDetails.toString()).length, 1);
}, skip: kIsWeb); }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/87875
} }
class TestStatefulWidget extends StatefulWidget { class TestStatefulWidget extends StatefulWidget {
......
...@@ -1715,7 +1715,7 @@ void main() { ...@@ -1715,7 +1715,7 @@ void main() {
// On web, we don't show the Flutter toolbar and instead rely on the browser // On web, we don't show the Flutter toolbar and instead rely on the browser
// toolbar. Until we change that, this test should remain skipped. // toolbar. Until we change that, this test should remain skipped.
}, skip: kIsWeb); }, skip: kIsWeb); // [intended]
// The variants to test in the focus handling test. // The variants to test in the focus handling test.
final ValueVariant<TextInputAction> focusVariants = ValueVariant< final ValueVariant<TextInputAction> focusVariants = ValueVariant<
...@@ -3747,7 +3747,6 @@ void main() { ...@@ -3747,7 +3747,6 @@ void main() {
), ),
)); ));
}, },
skip: isBrowser, // Related to https://github.com/flutter/flutter/issues/66089
); );
testWidgets( testWidgets(
...@@ -3841,7 +3840,6 @@ void main() { ...@@ -3841,7 +3840,6 @@ void main() {
), ),
)); ));
}, },
skip: isBrowser, // Related to https://github.com/flutter/flutter/issues/66089
); );
testWidgets( testWidgets(
...@@ -4133,7 +4131,7 @@ void main() { ...@@ -4133,7 +4131,7 @@ void main() {
// On web, we don't show the Flutter toolbar and instead rely on the browser // On web, we don't show the Flutter toolbar and instead rely on the browser
// toolbar. Until we change that, this test should remain skipped. // toolbar. Until we change that, this test should remain skipped.
}, skip: kIsWeb); }, skip: kIsWeb); // [intended]
testWidgets('text selection handle visibility RTL', (WidgetTester tester) async { testWidgets('text selection handle visibility RTL', (WidgetTester tester) async {
// Text with two separate words to select. // Text with two separate words to select.
...@@ -4195,7 +4193,7 @@ void main() { ...@@ -4195,7 +4193,7 @@ void main() {
// On web, we don't show the Flutter toolbar and instead rely on the browser // On web, we don't show the Flutter toolbar and instead rely on the browser
// toolbar. Until we change that, this test should remain skipped. // toolbar. Until we change that, this test should remain skipped.
}, skip: kIsWeb); }, skip: kIsWeb); // [intended]
const String testText = 'Now is the time for\n' const String testText = 'Now is the time for\n'
'all good people\n' 'all good people\n'
...@@ -4946,7 +4944,7 @@ void main() { ...@@ -4946,7 +4944,7 @@ void main() {
debugKeyEventSimulatorTransitModeOverride = null; debugKeyEventSimulatorTransitModeOverride = null;
// On web, using keyboard for selection is handled by the browser. // On web, using keyboard for selection is handled by the browser.
}, skip: kIsWeb, variant: TargetPlatformVariant.all()); }, variant: TargetPlatformVariant.all(), skip: kIsWeb); // [intended]
testWidgets('keyboard text selection works (ui.KeyData then RawKeyEvent)', (WidgetTester tester) async { testWidgets('keyboard text selection works (ui.KeyData then RawKeyEvent)', (WidgetTester tester) async {
debugKeyEventSimulatorTransitModeOverride = KeyDataTransitMode.keyDataThenRawKeyData; debugKeyEventSimulatorTransitModeOverride = KeyDataTransitMode.keyDataThenRawKeyData;
...@@ -4956,7 +4954,7 @@ void main() { ...@@ -4956,7 +4954,7 @@ void main() {
debugKeyEventSimulatorTransitModeOverride = null; debugKeyEventSimulatorTransitModeOverride = null;
// On web, using keyboard for selection is handled by the browser. // On web, using keyboard for selection is handled by the browser.
}, skip: kIsWeb, variant: TargetPlatformVariant.all()); }, variant: TargetPlatformVariant.all(), skip: kIsWeb); // [intended]
testWidgets( testWidgets(
'keyboard shortcuts respect read-only', 'keyboard shortcuts respect read-only',
...@@ -5132,7 +5130,8 @@ void main() { ...@@ -5132,7 +5130,8 @@ void main() {
); );
expect(controller.text, equals(testText), reason: 'on $platform'); expect(controller.text, equals(testText), reason: 'on $platform');
}, },
skip: kIsWeb, // On web, using keyboard for selection is handled by the browser.
skip: kIsWeb, // [intended]
variant: TargetPlatformVariant.all(), variant: TargetPlatformVariant.all(),
); );
...@@ -5299,9 +5298,12 @@ void main() { ...@@ -5299,9 +5298,12 @@ void main() {
scrollable.controller!.jumpTo(0); scrollable.controller!.jumpTo(0);
await verifyVisibility(HandlePositionInViewport.rightEdge, false, HandlePositionInViewport.rightEdge, false); await verifyVisibility(HandlePositionInViewport.rightEdge, false, HandlePositionInViewport.rightEdge, false);
// On web, we don't show the Flutter toolbar and instead rely on the browser },
// toolbar. Until we change that, this test should remain skipped. // On web, we don't show the Flutter toolbar and instead rely on the browser
}, skip: kIsWeb, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS })); // toolbar. Until we change that, this test should remain skipped.
skip: kIsWeb, // [intended]
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.iOS, TargetPlatform.macOS })
);
testWidgets("scrolling doesn't bounce", (WidgetTester tester) async { testWidgets("scrolling doesn't bounce", (WidgetTester tester) async {
// 3 lines of text, where the last line overflows and requires scrolling. // 3 lines of text, where the last line overflows and requires scrolling.
...@@ -7401,7 +7403,7 @@ void main() { ...@@ -7401,7 +7403,7 @@ void main() {
} }
// On web, using keyboard for selection is handled by the browser. // On web, using keyboard for selection is handled by the browser.
}, skip: kIsWeb); }, skip: kIsWeb); // [intended]
testWidgets('navigating by word', (WidgetTester tester) async { testWidgets('navigating by word', (WidgetTester tester) async {
final TextEditingController controller = TextEditingController(text: 'word word word'); final TextEditingController controller = TextEditingController(text: 'word word word');
...@@ -7539,7 +7541,7 @@ void main() { ...@@ -7539,7 +7541,7 @@ void main() {
expect(controller.selection.extentOffset, 9); expect(controller.selection.extentOffset, 9);
// On web, using keyboard for selection is handled by the browser. // On web, using keyboard for selection is handled by the browser.
}, skip: kIsWeb, variant: TargetPlatformVariant.all()); }, variant: TargetPlatformVariant.all(), skip: kIsWeb); // [intended]
testWidgets('expanding selection to start/end', (WidgetTester tester) async { testWidgets('expanding selection to start/end', (WidgetTester tester) async {
final TextEditingController controller = TextEditingController(text: 'word word word'); final TextEditingController controller = TextEditingController(text: 'word word word');
...@@ -7622,8 +7624,11 @@ void main() { ...@@ -7622,8 +7624,11 @@ void main() {
reason: 'on $platform', reason: 'on $platform',
); );
// On web, using keyboard for selection is handled by the browser. },
}, skip: kIsWeb, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.macOS })); // On web, using keyboard for selection is handled by the browser.
skip: kIsWeb, // [intended]
variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.macOS })
);
testWidgets('can change behavior by overriding text editing actions', (WidgetTester tester) async { testWidgets('can change behavior by overriding text editing actions', (WidgetTester tester) async {
final TextEditingController controller = TextEditingController(text: testText); final TextEditingController controller = TextEditingController(text: testText);
...@@ -7706,7 +7711,7 @@ void main() { ...@@ -7706,7 +7711,7 @@ void main() {
} }
// On web, using keyboard for selection is handled by the browser. // On web, using keyboard for selection is handled by the browser.
}, skip: kIsWeb); }, skip: kIsWeb); // [intended]
testWidgets('ignore key event from web platform', (WidgetTester tester) async { testWidgets('ignore key event from web platform', (WidgetTester tester) async {
final TextEditingController controller = TextEditingController( final TextEditingController controller = TextEditingController(
...@@ -7829,7 +7834,9 @@ void main() { ...@@ -7829,7 +7834,9 @@ void main() {
await tester.pump(); await tester.pump();
expect(fadeTransition.toString(), contains('DISPOSED')); expect(fadeTransition.toString(), contains('DISPOSED'));
}, skip: kIsWeb);
// On web, using keyboard for selection is handled by the browser.
}, skip: kIsWeb); // [intended]
} }
class UnsettableController extends TextEditingController { class UnsettableController extends TextEditingController {
......
...@@ -1585,7 +1585,7 @@ void main() { ...@@ -1585,7 +1585,7 @@ void main() {
// occur. // occur.
expect(() => element.state, throwsA(isA<TypeError>())); expect(() => element.state, throwsA(isA<TypeError>()));
expect(() => element.widget, throwsA(isA<TypeError>())); expect(() => element.widget, throwsA(isA<TypeError>()));
}, skip: kIsWeb); });
testWidgets('Deactivate and activate are called correctly', (WidgetTester tester) async { testWidgets('Deactivate and activate are called correctly', (WidgetTester tester) async {
final List<String> states = <String>[]; final List<String> states = <String>[];
......
...@@ -1836,7 +1836,10 @@ Future<void> main() async { ...@@ -1836,7 +1836,10 @@ Future<void> main() async {
expect(find.byKey(firstKey), isInCard); expect(find.byKey(firstKey), isInCard);
expect(find.byKey(secondKey), isOnstage); expect(find.byKey(secondKey), isOnstage);
expect(find.byKey(secondKey), isInCard); expect(find.byKey(secondKey), isInCard);
}, variant: TargetPlatformVariant.only(TargetPlatform.iOS), skip: kIsWeb); },
variant: TargetPlatformVariant.only(TargetPlatform.iOS),
skip: kIsWeb, // [intended] there are no default transitions on the web.
);
testWidgets('Heroes can transition on gesture in one frame', (WidgetTester tester) async { testWidgets('Heroes can transition on gesture in one frame', (WidgetTester tester) async {
transitionFromUserGestures = true; transitionFromUserGestures = true;
...@@ -1879,7 +1882,10 @@ Future<void> main() async { ...@@ -1879,7 +1882,10 @@ Future<void> main() async {
expect(find.byKey(firstKey), isOnstage); expect(find.byKey(firstKey), isOnstage);
expect(find.byKey(firstKey), isInCard); expect(find.byKey(firstKey), isInCard);
expect(find.byKey(secondKey), findsNothing); expect(find.byKey(secondKey), findsNothing);
}, variant: TargetPlatformVariant.only(TargetPlatform.iOS), skip: kIsWeb); },
variant: TargetPlatformVariant.only(TargetPlatform.iOS),
skip: kIsWeb, // [intended] there are no default transitions on the web.
);
testWidgets('Heroes animate should hide destination hero and display original hero in case of dismissed', (WidgetTester tester) async { testWidgets('Heroes animate should hide destination hero and display original hero in case of dismissed', (WidgetTester tester) async {
transitionFromUserGestures = true; transitionFromUserGestures = true;
...@@ -1915,7 +1921,10 @@ Future<void> main() async { ...@@ -1915,7 +1921,10 @@ Future<void> main() async {
expect(find.byKey(firstKey), findsNothing); expect(find.byKey(firstKey), findsNothing);
expect(find.byKey(secondKey), isOnstage); expect(find.byKey(secondKey), isOnstage);
expect(find.byKey(secondKey), isInCard); expect(find.byKey(secondKey), isInCard);
}, variant: TargetPlatformVariant.only(TargetPlatform.iOS), skip: kIsWeb); },
variant: TargetPlatformVariant.only(TargetPlatform.iOS),
skip: kIsWeb, // [intended] there are no default transitions on the web.
);
testWidgets('Handles transitions when a non-default initial route is set', (WidgetTester tester) async { testWidgets('Handles transitions when a non-default initial route is set', (WidgetTester tester) async {
await tester.pumpWidget(MaterialApp( await tester.pumpWidget(MaterialApp(
......
...@@ -60,7 +60,7 @@ void main() { ...@@ -60,7 +60,7 @@ void main() {
find.byType(ImageFiltered), find.byType(ImageFiltered),
matchesGoldenFile('image_filter_matrix.png'), matchesGoldenFile('image_filter_matrix.png'),
); );
}, skip: isBrowser); // https://github.com/flutter/flutter/issues/45213 });
testWidgets('Image filter - reuses its layer', (WidgetTester tester) async { testWidgets('Image filter - reuses its layer', (WidgetTester tester) async {
Future<void> pumpWithSigma(double sigma) async { Future<void> pumpWithSigma(double sigma) async {
......
...@@ -1731,7 +1731,7 @@ void main() { ...@@ -1731,7 +1731,7 @@ void main() {
await _testRotatedImage(tester, true); await _testRotatedImage(tester, true);
await _testRotatedImage(tester, false); await _testRotatedImage(tester, false);
}, },
skip: kIsWeb, // https://github.com/flutter/flutter/issues/54292. skip: kIsWeb, // https://github.com/flutter/flutter/issues/87933.
); );
testWidgets( testWidgets(
...@@ -1782,7 +1782,7 @@ void main() { ...@@ -1782,7 +1782,7 @@ void main() {
matchesGoldenFile('transparent_image.png'), matchesGoldenFile('transparent_image.png'),
); );
}, },
skip: kIsWeb, // https://github.com/flutter/flutter/issues/54292. skip: kIsWeb, // https://github.com/flutter/flutter/issues/87933.
); );
testWidgets('Reports image size when painted', (WidgetTester tester) async { testWidgets('Reports image size when painted', (WidgetTester tester) async {
...@@ -1865,7 +1865,7 @@ void main() { ...@@ -1865,7 +1865,7 @@ void main() {
// Image cache listener go away and Image stream listeners go away. // Image cache listener go away and Image stream listeners go away.
// Image is now at zero. // Image is now at zero.
expect(image.debugGetOpenHandleStackTraces()!.length, 0); expect(image.debugGetOpenHandleStackTraces()!.length, 0);
}, skip: kIsWeb); // Web does not care about image handle/disposal. }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/87442
testWidgets('Keeps stream alive when ticker mode is disabled', (WidgetTester tester) async { testWidgets('Keeps stream alive when ticker mode is disabled', (WidgetTester tester) async {
imageCache!.maximumSize = 0; imageCache!.maximumSize = 0;
......
...@@ -532,6 +532,6 @@ void main() { ...@@ -532,6 +532,6 @@ void main() {
' constraints: BoxConstraints(w=800.0, h=400.0)\n' ' constraints: BoxConstraints(w=800.0, h=400.0)\n'
' size: Size(800.0, 400.0)\n', ' size: Size(800.0, 400.0)\n',
)); ));
}, skip: kIsWeb); }, skip: kIsWeb); // https://github.com/flutter/flutter/issues/87876
} }
...@@ -40,7 +40,7 @@ void main() { ...@@ -40,7 +40,7 @@ void main() {
await tester.pumpWidget(Container()); await tester.pumpWidget(Container());
focusNode.dispose(); focusNode.dispose();
}, skip: isBrowser); // This is a Fuchsia-specific test. }, skip: isBrowser); // [intended] This is a Fuchsia-specific test.
testWidgets('Web key event', (WidgetTester tester) async { testWidgets('Web key event', (WidgetTester tester) async {
final List<KeyEvent> events = <KeyEvent>[]; final List<KeyEvent> events = <KeyEvent>[];
......
...@@ -310,7 +310,7 @@ void main() { ...@@ -310,7 +310,7 @@ void main() {
expect(log, equals(<String>['left'])); expect(log, equals(<String>['left']));
await gesture.up(); await gesture.up();
expect(log, equals(<String>['left'])); expect(log, equals(<String>['left']));
}, skip: true); // https://github.com/flutter/flutter/issues/4771 });
testWidgets('popAndPushNamed', (WidgetTester tester) async { testWidgets('popAndPushNamed', (WidgetTester tester) async {
final Map<String, WidgetBuilder> routes = <String, WidgetBuilder>{ final Map<String, WidgetBuilder> routes = <String, WidgetBuilder>{
......
...@@ -190,5 +190,5 @@ void main() { ...@@ -190,5 +190,5 @@ void main() {
// empty opacity layer is sent. // empty opacity layer is sent.
final OffsetLayer offsetLayer = element.renderObject!.debugLayer! as OffsetLayer; final OffsetLayer offsetLayer = element.renderObject!.debugLayer! as OffsetLayer;
await offsetLayer.toImage(const Rect.fromLTRB(0.0, 0.0, 1.0, 1.0)); await offsetLayer.toImage(const Rect.fromLTRB(0.0, 0.0, 1.0, 1.0));
}, skip: isBrowser); // https://github.com/flutter/flutter/issues/42767 }, skip: isBrowser); // https://github.com/flutter/flutter/issues/49857
} }
...@@ -197,7 +197,7 @@ void main() { ...@@ -197,7 +197,7 @@ void main() {
settingsOffset = tester.getTopLeft(find.text('Settings')); settingsOffset = tester.getTopLeft(find.text('Settings'));
expect(settingsOffset.dx, greaterThan(100.0)); expect(settingsOffset.dx, greaterThan(100.0));
expect(settingsOffset.dy, 100.0); expect(settingsOffset.dy, 100.0);
}, variant: TargetPlatformVariant.only(TargetPlatform.iOS), skip: kIsWeb); }, variant: TargetPlatformVariant.only(TargetPlatform.iOS), skip: kIsWeb); // [intended] no default transitions on web.
testWidgets("Check back gesture doesn't start during transitions", (WidgetTester tester) async { testWidgets("Check back gesture doesn't start during transitions", (WidgetTester tester) async {
final GlobalKey containerKey1 = GlobalKey(); final GlobalKey containerKey1 = GlobalKey();
...@@ -240,7 +240,7 @@ void main() { ...@@ -240,7 +240,7 @@ void main() {
expect(find.text('Home'), isOnstage); expect(find.text('Home'), isOnstage);
expect(find.text('Settings'), findsNothing); expect(find.text('Settings'), findsNothing);
}, variant: TargetPlatformVariant.only(TargetPlatform.iOS), skip: kIsWeb); }, variant: TargetPlatformVariant.only(TargetPlatform.iOS), skip: kIsWeb); // [intended] no default transitions on web.
// Tests bug https://github.com/flutter/flutter/issues/6451 // Tests bug https://github.com/flutter/flutter/issues/6451
testWidgets('Check back gesture with a persistent bottom sheet showing', (WidgetTester tester) async { testWidgets('Check back gesture with a persistent bottom sheet showing', (WidgetTester tester) async {
...@@ -294,7 +294,7 @@ void main() { ...@@ -294,7 +294,7 @@ void main() {
// Sheet did not call setState (since the gesture did nothing). // Sheet did not call setState (since the gesture did nothing).
expect(sheet.setStateCalled, isFalse); expect(sheet.setStateCalled, isFalse);
}, variant: TargetPlatformVariant.only(TargetPlatform.iOS), skip: kIsWeb); }, variant: TargetPlatformVariant.only(TargetPlatform.iOS), skip: kIsWeb); // [intended] no default transitions on web.
testWidgets('Test completed future', (WidgetTester tester) async { testWidgets('Test completed future', (WidgetTester tester) async {
final Map<String, WidgetBuilder> routes = <String, WidgetBuilder>{ final Map<String, WidgetBuilder> routes = <String, WidgetBuilder>{
......
...@@ -44,7 +44,7 @@ void main() { ...@@ -44,7 +44,7 @@ void main() {
await tester.pumpWidget(Container()); await tester.pumpWidget(Container());
focusNode.dispose(); focusNode.dispose();
}, skip: isBrowser); // This is a Fuchsia-specific test. }, skip: isBrowser); // [intended] This is a Fuchsia-specific test.
testWidgets('Web key event', (WidgetTester tester) async { testWidgets('Web key event', (WidgetTester tester) async {
final List<RawKeyEvent> events = <RawKeyEvent>[]; final List<RawKeyEvent> events = <RawKeyEvent>[];
......
...@@ -185,7 +185,7 @@ void main() { ...@@ -185,7 +185,7 @@ void main() {
); );
} }
testWidgets('can use the desktop cut/copy/paste buttons on Mac', (WidgetTester tester) async { testWidgets('can use the desktop cut/copy/paste buttons on desktop', (WidgetTester tester) async {
final TextEditingController controller = TextEditingController( final TextEditingController controller = TextEditingController(
text: 'blah1 blah2', text: 'blah1 blah2',
); );
...@@ -257,7 +257,7 @@ void main() { ...@@ -257,7 +257,7 @@ void main() {
expect(controller.text, ' blah2blah1'); expect(controller.text, ' blah2blah1');
expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 0)); expect(controller.selection, const TextSelection(baseOffset: 0, extentOffset: 0));
expect(find.byType(CupertinoButton), findsNothing); expect(find.byType(CupertinoButton), findsNothing);
}, variant: const TargetPlatformVariant(<TargetPlatform>{ TargetPlatform.macOS, TargetPlatform.windows, TargetPlatform.linux }), skip: kIsWeb); }, variant: TargetPlatformVariant.desktop(), skip: kIsWeb); // [intended] toolbar is handled by the browser.
testWidgets('has expected defaults', (WidgetTester tester) async { testWidgets('has expected defaults', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
......
...@@ -164,7 +164,7 @@ void main() { ...@@ -164,7 +164,7 @@ void main() {
), ),
); );
expect(tester.takeException(), null); expect(tester.takeException(), null);
}, skip: isBrowser); // https://github.com/flutter/flutter/issues/42086 });
testWidgets('inline widgets hitTest works with ellipsis', (WidgetTester tester) async { testWidgets('inline widgets hitTest works with ellipsis', (WidgetTester tester) async {
// Regression test for https://github.com/flutter/flutter/issues/68559 // Regression test for https://github.com/flutter/flutter/issues/68559
...@@ -200,7 +200,7 @@ void main() { ...@@ -200,7 +200,7 @@ void main() {
await tester.tap(find.byType(Text)); await tester.tap(find.byType(Text));
expect(tester.takeException(), null); expect(tester.takeException(), null);
}, skip: isBrowser); // https://github.com/flutter/flutter/issues/42086 });
testWidgets('inline widgets works with textScaleFactor', (WidgetTester tester) async { testWidgets('inline widgets works with textScaleFactor', (WidgetTester tester) async {
// Regression test for https://github.com/flutter/flutter/issues/59316 // Regression test for https://github.com/flutter/flutter/issues/59316
...@@ -262,7 +262,7 @@ void main() { ...@@ -262,7 +262,7 @@ void main() {
renderText = tester.renderObject(find.byKey(key)); renderText = tester.renderObject(find.byKey(key));
// The RichText in the widget span should wrap into three lines. // The RichText in the widget span should wrap into three lines.
expect(renderText.size.height, singleLineHeight * textScaleFactor * 3); expect(renderText.size.height, singleLineHeight * textScaleFactor * 3);
}, skip: isBrowser); // https://github.com/flutter/flutter/issues/42086 });
testWidgets('semanticsLabel can override text label', (WidgetTester tester) async { testWidgets('semanticsLabel can override text label', (WidgetTester tester) async {
final SemanticsTester semantics = SemanticsTester(tester); final SemanticsTester semantics = SemanticsTester(tester);
...@@ -714,7 +714,7 @@ void main() { ...@@ -714,7 +714,7 @@ void main() {
), ),
); );
semantics.dispose(); semantics.dispose();
}, skip: isBrowser); // https://github.com/flutter/flutter/issues/42086 }, skip: isBrowser); // https://github.com/flutter/flutter/issues/62945
testWidgets('inline widgets semantic nodes scale', (WidgetTester tester) async { testWidgets('inline widgets semantic nodes scale', (WidgetTester tester) async {
final SemanticsTester semantics = SemanticsTester(tester); final SemanticsTester semantics = SemanticsTester(tester);
...@@ -794,7 +794,7 @@ void main() { ...@@ -794,7 +794,7 @@ void main() {
), ),
); );
semantics.dispose(); semantics.dispose();
}, skip: isBrowser); // https://github.com/flutter/flutter/issues/42086 }, skip: isBrowser); // https://github.com/flutter/flutter/issues/62945
testWidgets('Overflow is clipping correctly - short text with overflow: clip', (WidgetTester tester) async { testWidgets('Overflow is clipping correctly - short text with overflow: clip', (WidgetTester tester) async {
await _pumpTextWidget( await _pumpTextWidget(
...@@ -817,7 +817,7 @@ void main() { ...@@ -817,7 +817,7 @@ void main() {
find.byType(Text), find.byType(Text),
paints..clipRect(rect: const Rect.fromLTWH(0, 0, 50, 50)), paints..clipRect(rect: const Rect.fromLTWH(0, 0, 50, 50)),
); );
}, skip: isBrowser); // https://github.com/flutter/flutter/issues/33523 }, skip: isBrowser); // https://github.com/flutter/flutter/issues/87878
testWidgets('Overflow is clipping correctly - short text with overflow: ellipsis', (WidgetTester tester) async { testWidgets('Overflow is clipping correctly - short text with overflow: ellipsis', (WidgetTester tester) async {
await _pumpTextWidget( await _pumpTextWidget(
...@@ -1045,7 +1045,7 @@ void main() { ...@@ -1045,7 +1045,7 @@ void main() {
), ),
], ],
))); )));
}, semanticsEnabled: true, skip: isBrowser); // Browser semantics have different sizes. }, semanticsEnabled: true, skip: isBrowser); // https://github.com/flutter/flutter/issues/87877
// Regression test for https://github.com/flutter/flutter/issues/69787 // Regression test for https://github.com/flutter/flutter/issues/69787
testWidgets('WidgetSpans with no semantic information are elided from semantics - case 2', (WidgetTester tester) async { testWidgets('WidgetSpans with no semantic information are elided from semantics - case 2', (WidgetTester tester) async {
...@@ -1091,7 +1091,7 @@ void main() { ...@@ -1091,7 +1091,7 @@ void main() {
ignoreRect: true, ignoreRect: true,
ignoreTransform: true, ignoreTransform: true,
)); ));
}, semanticsEnabled: true, skip: isBrowser); // Browser does not support widget span. }, semanticsEnabled: true, skip: isBrowser); // https://github.com/flutter/flutter/issues/87877
// Regression test for https://github.com/flutter/flutter/issues/69787 // Regression test for https://github.com/flutter/flutter/issues/69787
testWidgets('WidgetSpans with no semantic information are elided from semantics - case 3', (WidgetTester tester) async { testWidgets('WidgetSpans with no semantic information are elided from semantics - case 3', (WidgetTester tester) async {
...@@ -1149,7 +1149,7 @@ void main() { ...@@ -1149,7 +1149,7 @@ void main() {
ignoreRect: true, ignoreRect: true,
ignoreTransform: true, ignoreTransform: true,
)); ));
}, semanticsEnabled: true, skip: isBrowser); // Browser does not support widget span. }, semanticsEnabled: true, skip: isBrowser); // https://github.com/flutter/flutter/issues/87877
// Regression test for https://github.com/flutter/flutter/issues/69787 // Regression test for https://github.com/flutter/flutter/issues/69787
testWidgets('WidgetSpans with no semantic information are elided from semantics - case 4', (WidgetTester tester) async { testWidgets('WidgetSpans with no semantic information are elided from semantics - case 4', (WidgetTester tester) async {
...@@ -1215,7 +1215,7 @@ void main() { ...@@ -1215,7 +1215,7 @@ void main() {
ignoreRect: true, ignoreRect: true,
ignoreTransform: true, ignoreTransform: true,
)); ));
}, semanticsEnabled: true, skip: isBrowser); // Browser does not support widget span }, semanticsEnabled: true, skip: isBrowser); // https://github.com/flutter/flutter/issues/87877
testWidgets('RenderParagraph intrinsic width', (WidgetTester tester) async { testWidgets('RenderParagraph intrinsic width', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
......
...@@ -386,7 +386,7 @@ void main() { ...@@ -386,7 +386,7 @@ void main() {
await expectLater(find.byType(RepaintBoundary).first, matchesReferenceImage(imageWithCompositing)); await expectLater(find.byType(RepaintBoundary).first, matchesReferenceImage(imageWithCompositing));
} }
}, },
skip: isBrowser, // due to https://github.com/flutter/flutter/issues/42767 skip: isBrowser, // due to https://github.com/flutter/flutter/issues/49857
); );
testWidgets('Transform.translate with FilterQuality produces filter layer', (WidgetTester tester) async { testWidgets('Transform.translate with FilterQuality produces filter layer', (WidgetTester tester) async {
......
...@@ -978,7 +978,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -978,7 +978,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
// Column numbers are more stable than line numbers. // Column numbers are more stable than line numbers.
expect(columnA, equals(15)); expect(columnA, equals(15));
expect(columnA, equals(columnB)); expect(columnA, equals(columnB));
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('test transformDebugCreator will re-order if after stack trace', (WidgetTester tester) async { testWidgets('test transformDebugCreator will re-order if after stack trace', (WidgetTester tester) async {
final bool widgetTracked = WidgetInspectorService.instance.isWidgetCreationTracked(); final bool widgetTracked = WidgetInspectorService.instance.isWidgetCreationTracked();
...@@ -1103,7 +1103,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1103,7 +1103,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
expect(nodes[3].runtimeType, StringProperty); expect(nodes[3].runtimeType, StringProperty);
expect(nodes[3].name, 'dummy2'); expect(nodes[3].name, 'dummy2');
expect(nodes[4].runtimeType, DiagnosticsStackTrace); expect(nodes[4].runtimeType, DiagnosticsStackTrace);
}, skip: WidgetInspectorService.instance.isWidgetCreationTracked()); // Test requires --no-track-widget-creation flag. }, skip: WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --no-track-widget-creation flag.
testWidgets('test transformDebugCreator will add DevToolsDeepLinkProperty for overflow errors', (WidgetTester tester) async { testWidgets('test transformDebugCreator will add DevToolsDeepLinkProperty for overflow errors', (WidgetTester tester) async {
activeDevToolsServerAddress = 'http://127.0.0.1:9100'; activeDevToolsServerAddress = 'http://127.0.0.1:9100';
...@@ -1138,7 +1138,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1138,7 +1138,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
expect(nodes[3].runtimeType, DevToolsDeepLinkProperty); expect(nodes[3].runtimeType, DevToolsDeepLinkProperty);
expect(nodes[4].runtimeType, ErrorSpacer); expect(nodes[4].runtimeType, ErrorSpacer);
expect(nodes[5].runtimeType, StringProperty); expect(nodes[5].runtimeType, StringProperty);
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('test transformDebugCreator will not add DevToolsDeepLinkProperty for non-overflow errors', (WidgetTester tester) async { testWidgets('test transformDebugCreator will not add DevToolsDeepLinkProperty for non-overflow errors', (WidgetTester tester) async {
activeDevToolsServerAddress = 'http://127.0.0.1:9100'; activeDevToolsServerAddress = 'http://127.0.0.1:9100';
...@@ -1170,7 +1170,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1170,7 +1170,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
expect(nodes[1].runtimeType, DiagnosticsBlock); expect(nodes[1].runtimeType, DiagnosticsBlock);
expect(nodes[2].runtimeType, ErrorSpacer); expect(nodes[2].runtimeType, ErrorSpacer);
expect(nodes[3].runtimeType, StringProperty); expect(nodes[3].runtimeType, StringProperty);
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('test transformDebugCreator will not add DevToolsDeepLinkProperty if devtoolsServerAddress is unavailable', (WidgetTester tester) async { testWidgets('test transformDebugCreator will not add DevToolsDeepLinkProperty if devtoolsServerAddress is unavailable', (WidgetTester tester) async {
activeDevToolsServerAddress = null; activeDevToolsServerAddress = null;
...@@ -1202,7 +1202,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1202,7 +1202,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
expect(nodes[1].runtimeType, DiagnosticsBlock); expect(nodes[1].runtimeType, DiagnosticsBlock);
expect(nodes[2].runtimeType, ErrorSpacer); expect(nodes[2].runtimeType, ErrorSpacer);
expect(nodes[3].runtimeType, StringProperty); expect(nodes[3].runtimeType, StringProperty);
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('WidgetInspectorService setPubRootDirectories', (WidgetTester tester) async { testWidgets('WidgetInspectorService setPubRootDirectories', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
...@@ -1281,7 +1281,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1281,7 +1281,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
expect(json.decode(service.getSelectedWidget(null, 'my-group')), contains('createdByLocalProject')); expect(json.decode(service.getSelectedWidget(null, 'my-group')), contains('createdByLocalProject'));
service.setSelection(richText, 'my-group'); service.setSelection(richText, 'my-group');
expect(json.decode(service.getSelectedWidget(null, 'my-group')), contains('createdByLocalProject')); expect(json.decode(service.getSelectedWidget(null, 'my-group')), contains('createdByLocalProject'));
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked() || isBrowser); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
test('ext.flutter.inspector.disposeGroup', () async { test('ext.flutter.inspector.disposeGroup', () async {
final Object a = Object(); final Object a = Object();
...@@ -1663,7 +1663,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1663,7 +1663,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
expect(alternateChildrenJson.length , equals(0)); expect(alternateChildrenJson.length , equals(0));
// Tests are failing when this typo is fixed. // Tests are failing when this typo is fixed.
expect(childJson['chidlren'], isNull); expect(childJson['chidlren'], isNull);
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('ext.flutter.inspector.getSelectedSummaryWidget', (WidgetTester tester) async { testWidgets('ext.flutter.inspector.getSelectedSummaryWidget', (WidgetTester tester) async {
const String group = 'test-group'; const String group = 'test-group';
...@@ -1718,7 +1718,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1718,7 +1718,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
// the RichText object not the Text element. // the RichText object not the Text element.
final Map<String, Object?> regularSelection = (await service.testExtension('getSelectedWidget', <String, String>{'objectGroup': 'my-group'}))! as Map<String, Object?>; final Map<String, Object?> regularSelection = (await service.testExtension('getSelectedWidget', <String, String>{'objectGroup': 'my-group'}))! as Map<String, Object?>;
expect(service.toObject(regularSelection['valueId']! as String), richTextDiagnostic.value); expect(service.toObject(regularSelection['valueId']! as String), richTextDiagnostic.value);
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('ext.flutter.inspector creationLocation', (WidgetTester tester) async { testWidgets('ext.flutter.inspector creationLocation', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
...@@ -1761,7 +1761,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1761,7 +1761,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
// Column numbers are more stable than line numbers. // Column numbers are more stable than line numbers.
expect(columnA, equals(15)); expect(columnA, equals(15));
expect(columnA, equals(columnB)); expect(columnA, equals(columnB));
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('ext.flutter.inspector.setPubRootDirectories', (WidgetTester tester) async { testWidgets('ext.flutter.inspector.setPubRootDirectories', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
...@@ -1840,7 +1840,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1840,7 +1840,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
expect(await service.testExtension('getSelectedWidget', <String, String>{'objectGroup': 'my-group'}), contains('createdByLocalProject')); expect(await service.testExtension('getSelectedWidget', <String, String>{'objectGroup': 'my-group'}), contains('createdByLocalProject'));
service.setSelection(richText, 'my-group'); service.setSelection(richText, 'my-group');
expect(await service.testExtension('getSelectedWidget', <String, String>{'objectGroup': 'my-group'}), contains('createdByLocalProject')); expect(await service.testExtension('getSelectedWidget', <String, String>{'objectGroup': 'my-group'}), contains('createdByLocalProject'));
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked() || isBrowser); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('ext.flutter.inspector.setPubRootDirectories extra args regression test', (WidgetTester tester) async { testWidgets('ext.flutter.inspector.setPubRootDirectories extra args regression test', (WidgetTester tester) async {
// Ensure that passing the isolate id as an argument won't break // Ensure that passing the isolate id as an argument won't break
...@@ -1892,7 +1892,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -1892,7 +1892,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
}); });
expect(await service.testExtension('getSelectedWidget', <String, String>{'objectGroup': 'my-group'}), contains('createdByLocalProject')); expect(await service.testExtension('getSelectedWidget', <String, String>{'objectGroup': 'my-group'}), contains('createdByLocalProject'));
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked() || isBrowser); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
Map<Object, Object?> removeLastEvent(List<Map<Object, Object?>> events) { Map<Object, Object?> removeLastEvent(List<Map<Object, Object?>> events) {
final Map<Object, Object?> event = events.removeLast(); final Map<Object, Object?> event = events.removeLast();
...@@ -2108,7 +2108,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -2108,7 +2108,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
await tester.pump(); await tester.pump();
// Verify that rebuild events are not fired once the extension is disabled. // Verify that rebuild events are not fired once the extension is disabled.
expect(rebuildEvents, isEmpty); expect(rebuildEvents, isEmpty);
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('ext.flutter.inspector.trackRepaintWidgets', (WidgetTester tester) async { testWidgets('ext.flutter.inspector.trackRepaintWidgets', (WidgetTester tester) async {
service.rebuildCount = 0; service.rebuildCount = 0;
...@@ -2221,7 +2221,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -2221,7 +2221,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
await tester.pump(); await tester.pump();
// Verify that repaint events are not fired once the extension is disabled. // Verify that repaint events are not fired once the extension is disabled.
expect(repaintEvents, isEmpty); expect(repaintEvents, isEmpty);
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('ext.flutter.inspector.show', (WidgetTester tester) async { testWidgets('ext.flutter.inspector.show', (WidgetTester tester) async {
final Iterable<Map<Object, Object?>> extensionChangedEvents = service.getServiceExtensionStateChangedEvents('ext.flutter.inspector.show'); final Iterable<Map<Object, Object?>> extensionChangedEvents = service.getServiceExtensionStateChangedEvents('ext.flutter.inspector.show');
...@@ -2523,7 +2523,6 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -2523,7 +2523,6 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
await expectLater( await expectLater(
screenshotImage, screenshotImage,
matchesReferenceImage((await clipRectScreenshot)!), matchesReferenceImage((await clipRectScreenshot)!),
skip: !isLinux,
); );
// Test with a very visible debug paint // Test with a very visible debug paint
...@@ -2899,7 +2898,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -2899,7 +2898,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
} }
visitChildren(detailedChildren); visitChildren(detailedChildren);
expect(appBars.single, isNot(contains('children'))); expect(appBars.single, isNot(contains('children')));
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
testWidgets('InspectorSerializationDelegate addAdditionalPropertiesCallback', (WidgetTester tester) async { testWidgets('InspectorSerializationDelegate addAdditionalPropertiesCallback', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
...@@ -3001,7 +3000,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService { ...@@ -3001,7 +3000,7 @@ class _TestWidgetInspectorService extends TestWidgetInspectorService {
expect(debugIsLocalCreationLocation(paddingElement), isFalse); expect(debugIsLocalCreationLocation(paddingElement), isFalse);
expect(debugIsLocalCreationLocation(paddingElement.widget), isFalse); expect(debugIsLocalCreationLocation(paddingElement.widget), isFalse);
}, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // Test requires --track-widget-creation flag. }, skip: !WidgetInspectorService.instance.isWidgetCreationTracked()); // [intended] Test requires --track-widget-creation flag.
test('devToolsInspectorUri test', () { test('devToolsInspectorUri test', () {
activeDevToolsServerAddress = 'http://127.0.0.1:9100'; activeDevToolsServerAddress = 'http://127.0.0.1:9100';
......
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