From cd1d40a7c93ee995e13fdb4d189ce95c9974dd9d Mon Sep 17 00:00:00 2001 From: Jonah Williams Date: Mon, 3 Jun 2019 11:08:30 -0700 Subject: [PATCH] Revert "Add web safe indirection to Platform.isPlatform getters (#33406)" (#33776) This reverts commit d92b3b40d2113a216bdfd7c2c69d9d0f4d905a0d. --- .../flutter/test/animation/tween_test.dart | 4 +- .../test/cupertino/date_picker_test.dart | 5 +- .../flutter/test/cupertino/nav_bar_test.dart | 6 +- .../cupertino/segmented_control_test.dart | 6 +- .../test/cupertino/text_field_test.dart | 5 +- .../material/bottom_app_bar_theme_test.dart | 4 +- .../material/bottom_navigation_bar_test.dart | 3 +- .../test/material/card_theme_test.dart | 4 +- .../test/material/date_picker_test.dart | 3 +- .../test/material/dialog_theme_test.dart | 4 +- .../flutter/test/material/dropdown_test.dart | 5 +- .../material/floating_action_button_test.dart | 3 +- .../test/material/input_decorator_test.dart | 7 ++- .../flutter/test/material/material_test.dart | 6 +- .../flutter/test/material/radio_test.dart | 3 +- .../test/material/tab_bar_theme_test.dart | 10 +-- .../test/material/text_field_test.dart | 7 ++- .../continous_rectangle_border_test.dart | 7 ++- .../test/painting/text_painter_rtl_test.dart | 4 +- .../test/rendering/localized_fonts_test.dart | 8 ++- .../test/rendering/paragraph_test.dart | 5 +- .../test/widgets/backdrop_filter_test.dart | 3 +- .../widgets/editable_text_cursor_test.dart | 8 ++- .../test/widgets/invert_colors_test.dart | 6 +- .../widgets/list_wheel_scroll_view_test.dart | 6 +- .../flutter/test/widgets/opacity_test.dart | 4 +- .../test/widgets/physical_model_test.dart | 3 +- .../flutter/test/widgets/shadow_test.dart | 30 +++++---- .../test/widgets/text_golden_test.dart | 14 +++-- .../test/widgets/widget_inspector_test.dart | 61 ++++++++++--------- packages/flutter_test/lib/flutter_test.dart | 1 - packages/flutter_test/lib/src/platform.dart | 47 -------------- 32 files changed, 147 insertions(+), 145 deletions(-) delete mode 100644 packages/flutter_test/lib/src/platform.dart diff --git a/packages/flutter/test/animation/tween_test.dart b/packages/flutter/test/animation/tween_test.dart index a0aedecd5ed..bde8663c17f 100644 --- a/packages/flutter/test/animation/tween_test.dart +++ b/packages/flutter/test/animation/tween_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; + import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/animation.dart'; import 'package:flutter/widgets.dart'; @@ -83,7 +85,7 @@ void main() { ), moreOrLessEquals(0.0), ); - }, skip: isWindows); // floating point math not quite deterministic on Windows? + }, skip: Platform.isWindows); // floating point math not quite deterministic on Windows? test('ConstantTween', () { final ConstantTween tween = ConstantTween(100.0); diff --git a/packages/flutter/test/cupertino/date_picker_test.dart b/packages/flutter/test/cupertino/date_picker_test.dart index 53a3f262b65..512e871d78d 100644 --- a/packages/flutter/test/cupertino/date_picker_test.dart +++ b/packages/flutter/test/cupertino/date_picker_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; import 'dart:ui'; import 'package:flutter/cupertino.dart'; @@ -844,7 +845,7 @@ void main() { await expectLater( find.byType(CupertinoDatePicker), matchesGoldenFile('date_picker_test.datetime.initial.1.png'), - skip: !isLinux + skip: !Platform.isLinux ); // Slightly drag the hour component to make the current hour off-center. @@ -854,7 +855,7 @@ void main() { await expectLater( find.byType(CupertinoDatePicker), matchesGoldenFile('date_picker_test.datetime.drag.1.png'), - skip: !isLinux + skip: !Platform.isLinux ); }); }); diff --git a/packages/flutter/test/cupertino/nav_bar_test.dart b/packages/flutter/test/cupertino/nav_bar_test.dart index 2a78b87dbb4..576f751053b 100644 --- a/packages/flutter/test/cupertino/nav_bar_test.dart +++ b/packages/flutter/test/cupertino/nav_bar_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; + import 'package:flutter/cupertino.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter/services.dart'; @@ -804,7 +806,7 @@ void main() { }, // TODO(xster): remove once https://github.com/flutter/flutter/issues/17483 // is fixed. - skip: !isLinux, + skip: !Platform.isLinux, ); testWidgets( @@ -838,7 +840,7 @@ void main() { }, // TODO(xster): remove once https://github.com/flutter/flutter/issues/17483 // is fixed. - skip: !isLinux, + skip: !Platform.isLinux, ); diff --git a/packages/flutter/test/cupertino/segmented_control_test.dart b/packages/flutter/test/cupertino/segmented_control_test.dart index 9ee56899a51..1214541640d 100644 --- a/packages/flutter/test/cupertino/segmented_control_test.dart +++ b/packages/flutter/test/cupertino/segmented_control_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; + import 'package:flutter/widgets.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -1327,7 +1329,7 @@ void main() { find.byType(RepaintBoundary), matchesGoldenFile('segmented_control_test.0.0.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets('Golden Test Pressed State', (WidgetTester tester) async { final Map children = {}; @@ -1365,5 +1367,5 @@ void main() { find.byType(RepaintBoundary), matchesGoldenFile('segmented_control_test.1.0.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); } diff --git a/packages/flutter/test/cupertino/text_field_test.dart b/packages/flutter/test/cupertino/text_field_test.dart index 1bc840e3a96..007b41c8487 100644 --- a/packages/flutter/test/cupertino/text_field_test.dart +++ b/packages/flutter/test/cupertino/text_field_test.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'dart:async'; +import 'dart:io'; import 'package:flutter/cupertino.dart'; import 'package:flutter/rendering.dart'; @@ -375,7 +376,7 @@ void main() { find.byKey(const ValueKey(1)), matchesGoldenFile('text_field_cursor_test.0.2.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets('cursor iOS golden', (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; @@ -405,7 +406,7 @@ void main() { find.byKey(const ValueKey(1)), matchesGoldenFile('text_field_cursor_test.1.2.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets( 'can control text content via controller', diff --git a/packages/flutter/test/material/bottom_app_bar_theme_test.dart b/packages/flutter/test/material/bottom_app_bar_theme_test.dart index 4328e733206..0dd0fb77cc7 100644 --- a/packages/flutter/test/material/bottom_app_bar_theme_test.dart +++ b/packages/flutter/test/material/bottom_app_bar_theme_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; + import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -81,7 +83,7 @@ void main() { await expectLater( find.byKey(_painterKey), matchesGoldenFile('bottom_app_bar_theme.custom_shape.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); diff --git a/packages/flutter/test/material/bottom_navigation_bar_test.dart b/packages/flutter/test/material/bottom_navigation_bar_test.dart index 7a6921da31d..85664f890b2 100644 --- a/packages/flutter/test/material/bottom_navigation_bar_test.dart +++ b/packages/flutter/test/material/bottom_navigation_bar_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; import 'dart:ui'; import 'package:flutter/material.dart'; @@ -1435,7 +1436,7 @@ void main() { await expectLater( find.byType(BottomNavigationBar), matchesGoldenFile('bottom_navigation_bar.shifting_transition.2.$pump.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); } }); diff --git a/packages/flutter/test/material/card_theme_test.dart b/packages/flutter/test/material/card_theme_test.dart index 670f1bd33dd..d45de99831b 100644 --- a/packages/flutter/test/material/card_theme_test.dart +++ b/packages/flutter/test/material/card_theme_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; + import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -138,7 +140,7 @@ void main() { await expectLater( find.byKey(painterKey), matchesGoldenFile('card_theme.custom_shape.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); } diff --git a/packages/flutter/test/material/date_picker_test.dart b/packages/flutter/test/material/date_picker_test.dart index 26be766466f..5f91a36c852 100644 --- a/packages/flutter/test/material/date_picker_test.dart +++ b/packages/flutter/test/material/date_picker_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; import 'dart:ui'; import 'package:flutter/rendering.dart'; @@ -19,7 +20,7 @@ void main() { }, // Skip on Windows because this test is quite flaky when run on Windows, // until https://github.com/flutter/flutter/issues/19696 is fixed. - skip: isWindows, + skip: Platform.isWindows, ); } diff --git a/packages/flutter/test/material/dialog_theme_test.dart b/packages/flutter/test/material/dialog_theme_test.dart index 4ba5014ae97..c682fdcd3e2 100644 --- a/packages/flutter/test/material/dialog_theme_test.dart +++ b/packages/flutter/test/material/dialog_theme_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; + import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -131,7 +133,7 @@ void main() { await expectLater( find.byKey(_painterKey), matchesGoldenFile('dialog_theme.dialog_with_custom_border.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); diff --git a/packages/flutter/test/material/dropdown_test.dart b/packages/flutter/test/material/dropdown_test.dart index 1837f29b6e1..382cdeee2a1 100644 --- a/packages/flutter/test/material/dropdown_test.dart +++ b/packages/flutter/test/material/dropdown_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; import 'dart:math' as math; import 'dart:ui' show window; @@ -141,7 +142,7 @@ void main() { await expectLater( find.ancestor(of: buttonFinder, matching: find.byType(RepaintBoundary)).first, matchesGoldenFile('dropdown_test.default.0.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -154,7 +155,7 @@ void main() { await expectLater( find.ancestor(of: buttonFinder, matching: find.byType(RepaintBoundary)).first, matchesGoldenFile('dropdown_test.expanded.0.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); diff --git a/packages/flutter/test/material/floating_action_button_test.dart b/packages/flutter/test/material/floating_action_button_test.dart index a1fed6f1cd2..ef421e349fb 100644 --- a/packages/flutter/test/material/floating_action_button_test.dart +++ b/packages/flutter/test/material/floating_action_button_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; import 'dart:ui'; import 'package:flutter/material.dart'; @@ -736,7 +737,7 @@ void main() { await expectLater( find.byKey(key), matchesGoldenFile('floating_action_button_test.clip.2.png'), // .clip.1.png is obsolete and can be removed - skip: !isLinux, + skip: !Platform.isLinux, ); }); diff --git a/packages/flutter/test/material/input_decorator_test.dart b/packages/flutter/test/material/input_decorator_test.dart index 142e98fec94..e46292efa09 100644 --- a/packages/flutter/test/material/input_decorator_test.dart +++ b/packages/flutter/test/material/input_decorator_test.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'dart:async'; +import 'dart:io' show Platform; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; @@ -2030,17 +2031,17 @@ void main() { await expectLater( find.byType(InputDecorator), matchesGoldenFile('input_decorator.outline_icon_label.ltr.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await tester.pumpWidget(buildFrame(TextDirection.rtl)); await expectLater( find.byType(InputDecorator), matchesGoldenFile('input_decorator.outline_icon_label.rtl.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }, - skip: !isLinux, + skip: !Platform.isLinux, ); testWidgets('InputDecorator draws and animates hoverColor', (WidgetTester tester) async { diff --git a/packages/flutter/test/material/material_test.dart b/packages/flutter/test/material/material_test.dart index 74e8dd542c4..2299e9b3ef7 100644 --- a/packages/flutter/test/material/material_test.dart +++ b/packages/flutter/test/material/material_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; + import 'package:flutter/material.dart'; import 'package:flutter/painting.dart'; import 'package:flutter/rendering.dart'; @@ -617,7 +619,7 @@ void main() { await expectLater( find.byKey(painterKey), matchesGoldenFile('material.border_paint_above.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -658,7 +660,7 @@ void main() { await expectLater( find.byKey(painterKey), matchesGoldenFile('material.border_paint_below.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); }); diff --git a/packages/flutter/test/material/radio_test.dart b/packages/flutter/test/material/radio_test.dart index db183c41df4..3be3d203f98 100644 --- a/packages/flutter/test/material/radio_test.dart +++ b/packages/flutter/test/material/radio_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; import 'dart:ui'; import 'package:flutter/rendering.dart'; @@ -277,7 +278,7 @@ void main() { await expectLater( find.byKey(painterKey), matchesGoldenFile('radio.ink_ripple.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); } diff --git a/packages/flutter/test/material/tab_bar_theme_test.dart b/packages/flutter/test/material/tab_bar_theme_test.dart index 1fedb224f41..23fef94a1b3 100644 --- a/packages/flutter/test/material/tab_bar_theme_test.dart +++ b/packages/flutter/test/material/tab_bar_theme_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; + import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -268,7 +270,7 @@ void main() { await expectLater( find.byKey(_painterKey), matchesGoldenFile('tab_bar_theme.tab_indicator_size_tab.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -280,7 +282,7 @@ void main() { await expectLater( find.byKey(_painterKey), matchesGoldenFile('tab_bar_theme.tab_indicator_size_label.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -297,7 +299,7 @@ void main() { await expectLater( find.byKey(_painterKey), matchesGoldenFile('tab_bar_theme.custom_tab_indicator.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -314,7 +316,7 @@ void main() { await expectLater( find.byKey(_painterKey), matchesGoldenFile('tab_bar_theme.beveled_rect_indicator.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); } diff --git a/packages/flutter/test/material/text_field_test.dart b/packages/flutter/test/material/text_field_test.dart index 525d665fd7a..727fd2b35f3 100644 --- a/packages/flutter/test/material/text_field_test.dart +++ b/packages/flutter/test/material/text_field_test.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'dart:async'; +import 'dart:io'; import 'dart:math' as math; import 'dart:ui' as ui show window; @@ -404,7 +405,7 @@ void main() { find.byKey(const ValueKey(1)), matchesGoldenFile('text_field_cursor_test.0.0.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets('cursor iOS golden', (WidgetTester tester) async { debugDefaultTargetPlatformOverride = TargetPlatform.iOS; @@ -433,7 +434,7 @@ void main() { find.byKey(const ValueKey(1)), matchesGoldenFile('text_field_cursor_test.1.0.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets('text field selection toolbar renders correctly inside opacity', (WidgetTester tester) async { await tester.pumpWidget( @@ -483,7 +484,7 @@ void main() { // The toolbar exists in the Overlay above the MaterialApp. find.byType(Overlay), matchesGoldenFile('text_field_opacity_test.0.2.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); diff --git a/packages/flutter/test/painting/continous_rectangle_border_test.dart b/packages/flutter/test/painting/continous_rectangle_border_test.dart index ae039f64ff5..37e5ea36dd8 100644 --- a/packages/flutter/test/painting/continous_rectangle_border_test.dart +++ b/packages/flutter/test/painting/continous_rectangle_border_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; import 'package:flutter/material.dart'; import 'package:flutter/painting.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -72,7 +73,7 @@ void main() { await expectLater( find.byType(RepaintBoundary), matchesGoldenFile('continuous_rectangle_border.golden_test_even_radii.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -94,7 +95,7 @@ void main() { await expectLater( find.byType(RepaintBoundary), matchesGoldenFile('continuous_rectangle_border.golden_test_varying_radii.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -113,7 +114,7 @@ void main() { await expectLater( find.byType(RepaintBoundary), matchesGoldenFile('continuous_rectangle_border.golden_test_large_radii.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); diff --git a/packages/flutter/test/painting/text_painter_rtl_test.dart b/packages/flutter/test/painting/text_painter_rtl_test.dart index 5f3f02bc900..e6d9aca47d0 100644 --- a/packages/flutter/test/painting/text_painter_rtl_test.dart +++ b/packages/flutter/test/painting/text_painter_rtl_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; + import 'package:flutter/foundation.dart'; import 'package:flutter/painting.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -319,7 +321,7 @@ void main() { ); }, // Ahem-based tests don't yet quite work on Windows or some MacOS environments - skip: !isLinux); + skip: Platform.isWindows || Platform.isMacOS); test('TextPainter - line wrap mid-word', () { final TextPainter painter = TextPainter() diff --git a/packages/flutter/test/rendering/localized_fonts_test.dart b/packages/flutter/test/rendering/localized_fonts_test.dart index 07ac7d5c38f..623c04d2c91 100644 --- a/packages/flutter/test/rendering/localized_fonts_test.dart +++ b/packages/flutter/test/rendering/localized_fonts_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; + import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -52,7 +54,7 @@ void main() { matchesGoldenFile('localized_fonts.rich_text.styled_text_span.png'), ); }, - skip: !isLinux, + skip: !Platform.isLinux, ); testWidgets( @@ -104,7 +106,7 @@ void main() { matchesGoldenFile('localized_fonts.text_ambient_locale.chars.png'), ); }, - skip: !isLinux, + skip: !Platform.isLinux, ); testWidgets( @@ -148,7 +150,7 @@ void main() { matchesGoldenFile('localized_fonts.text_explicit_locale.chars.png'), ); }, - skip: !isLinux, + skip: !Platform.isLinux, ); } diff --git a/packages/flutter/test/rendering/paragraph_test.dart b/packages/flutter/test/rendering/paragraph_test.dart index c998d4e684a..aa69b3ba723 100644 --- a/packages/flutter/test/rendering/paragraph_test.dart +++ b/packages/flutter/test/rendering/paragraph_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; import 'dart:ui' as ui show TextBox; import 'package:flutter/rendering.dart'; @@ -70,7 +71,7 @@ void main() { expect(boxes.any((ui.TextBox box) => box.right == 100 && box.top == 10), isTrue); }, // Ahem-based tests don't yet quite work on Windows or some MacOS environments - skip: isLinux); + skip: Platform.isWindows || Platform.isMacOS); test('getWordBoundary control test', () { final RenderParagraph paragraph = RenderParagraph( @@ -192,7 +193,7 @@ void main() { layoutAt(3); expect(paragraph.size.height, 30.0); - }, skip: isWindows); // Ahem-based tests don't yet quite work on Windows + }, skip: Platform.isWindows); // Ahem-based tests don't yet quite work on Windows test('changing color does not do layout', () { final RenderParagraph paragraph = RenderParagraph( diff --git a/packages/flutter/test/widgets/backdrop_filter_test.dart b/packages/flutter/test/widgets/backdrop_filter_test.dart index c0cff7310ae..df499b82536 100644 --- a/packages/flutter/test/widgets/backdrop_filter_test.dart +++ b/packages/flutter/test/widgets/backdrop_filter_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; import 'dart:ui'; import 'package:flutter/widgets.dart'; @@ -43,7 +44,7 @@ void main() { await expectLater( find.byType(RepaintBoundary).first, matchesGoldenFile('backdrop_filter_test.cull_rect.1.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); } diff --git a/packages/flutter/test/widgets/editable_text_cursor_test.dart b/packages/flutter/test/widgets/editable_text_cursor_test.dart index 955ee150413..2fe028b0f6c 100644 --- a/packages/flutter/test/widgets/editable_text_cursor_test.dart +++ b/packages/flutter/test/widgets/editable_text_cursor_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; + import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -92,7 +94,7 @@ void main() { find.byKey(const ValueKey(1)), matchesGoldenFile('editable_text_test.0.3.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets('cursor layout has correct radius', (WidgetTester tester) async { final GlobalKey editableTextKey = GlobalKey(); @@ -143,7 +145,7 @@ void main() { find.byKey(const ValueKey(1)), matchesGoldenFile('editable_text_test.1.3.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets('Cursor animates on iOS', (WidgetTester tester) async { final Widget widget = MaterialApp( @@ -722,6 +724,6 @@ void main() { matchesGoldenFile('editable_text_test.2.0.png'), ); debugDefaultTargetPlatformOverride = null; - }, skip: !isLinux); + }, skip: !Platform.isLinux); } diff --git a/packages/flutter/test/widgets/invert_colors_test.dart b/packages/flutter/test/widgets/invert_colors_test.dart index 2cd3e5451ad..7a10975b68a 100644 --- a/packages/flutter/test/widgets/invert_colors_test.dart +++ b/packages/flutter/test/widgets/invert_colors_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; + import 'package:flutter/rendering.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -21,7 +23,7 @@ void main() { await expectLater( find.byType(RepaintBoundary), matchesGoldenFile('invert_colors_test.0.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -40,7 +42,7 @@ void main() { await expectLater( find.byType(RepaintBoundary), matchesGoldenFile('invert_colors_test.1.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); } diff --git a/packages/flutter/test/widgets/list_wheel_scroll_view_test.dart b/packages/flutter/test/widgets/list_wheel_scroll_view_test.dart index 162f5b7af46..8349f29a82c 100644 --- a/packages/flutter/test/widgets/list_wheel_scroll_view_test.dart +++ b/packages/flutter/test/widgets/list_wheel_scroll_view_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; + import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/rendering.dart'; @@ -536,7 +538,7 @@ void main() { await expectLater( find.byKey(const Key('list_wheel_scroll_view')), matchesGoldenFile('list_wheel_scroll_view.center_child.magnified.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -591,7 +593,7 @@ void main() { await expectLater( find.byKey(const Key('list_wheel_scroll_view')), matchesGoldenFile('list_wheel_scroll_view.curved_wheel.left.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); diff --git a/packages/flutter/test/widgets/opacity_test.dart b/packages/flutter/test/widgets/opacity_test.dart index d02b278cb33..9e22c2696af 100644 --- a/packages/flutter/test/widgets/opacity_test.dart +++ b/packages/flutter/test/widgets/opacity_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io'; + import 'package:flutter/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/material.dart'; @@ -178,7 +180,7 @@ void main() { await expectLater( find.byType(RepaintBoundary).first, matchesGoldenFile('opacity_test.offset.1.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); diff --git a/packages/flutter/test/widgets/physical_model_test.dart b/packages/flutter/test/widgets/physical_model_test.dart index 433a044cffd..ea5522e80a5 100644 --- a/packages/flutter/test/widgets/physical_model_test.dart +++ b/packages/flutter/test/widgets/physical_model_test.dart @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; import 'dart:math' as math show pi; import 'package:flutter/material.dart'; @@ -111,7 +112,7 @@ void main() { await expectLater( find.byKey(key), matchesGoldenFile('physical_model_overflow.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); diff --git a/packages/flutter/test/widgets/shadow_test.dart b/packages/flutter/test/widgets/shadow_test.dart index adcecd2e698..dd90450181b 100644 --- a/packages/flutter/test/widgets/shadow_test.dart +++ b/packages/flutter/test/widgets/shadow_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; + import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/material.dart'; @@ -28,11 +30,13 @@ void main() { debugDisableShadows = false; tester.binding.reassembleApplication(); await tester.pump(); - await expectLater( - find.byType(Container), - matchesGoldenFile('shadow.BoxDecoration.enabled.png'), - skip: !isLinux - ); // shadows render differently on different platforms + if (Platform.isLinux) { + // TODO(ianh): use the skip argument instead once that doesn't hang, https://github.com/dart-lang/test/issues/830 + await expectLater( + find.byType(Container), + matchesGoldenFile('shadow.BoxDecoration.enabled.png'), + ); // shadows render differently on different platforms + } debugDisableShadows = true; }); @@ -61,7 +65,7 @@ void main() { ); } debugDisableShadows = true; - }, skip: !isLinux); // shadows render differently on different platforms + }, skip: !Platform.isLinux); // shadows render differently on different platforms testWidgets('Shadows with PhysicalLayer', (WidgetTester tester) async { await tester.pumpWidget( @@ -89,11 +93,13 @@ void main() { debugDisableShadows = false; tester.binding.reassembleApplication(); await tester.pump(); - await expectLater( - find.byType(Container), - matchesGoldenFile('shadow.PhysicalModel.enabled.png'), - skip: !isLinux, - ); // shadows render differently on different platforms + if (Platform.isLinux) { + // TODO(ianh): use the skip argument instead once that doesn't hang, https://github.com/dart-lang/test/issues/830 + await expectLater( + find.byType(Container), + matchesGoldenFile('shadow.PhysicalModel.enabled.png'), + ); // shadows render differently on different platforms + } debugDisableShadows = true; }); @@ -126,5 +132,5 @@ void main() { ); } debugDisableShadows = true; - }, skip: !isLinux); // shadows render differently on different platforms + }, skip: !Platform.isLinux); // shadows render differently on different platforms } diff --git a/packages/flutter/test/widgets/text_golden_test.dart b/packages/flutter/test/widgets/text_golden_test.dart index 5627dcf600c..cb94b2ab179 100644 --- a/packages/flutter/test/widgets/text_golden_test.dart +++ b/packages/flutter/test/widgets/text_golden_test.dart @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +import 'dart:io' show Platform; + import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; @@ -55,7 +57,7 @@ void main() { find.byType(Container), matchesGoldenFile('text_golden.Centered.wrap.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets('Text Foreground', (WidgetTester tester) async { @@ -131,7 +133,7 @@ void main() { find.byType(RepaintBoundary), matchesGoldenFile('text_golden.Foreground.stroke_and_gradient.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); // TODO(garyq): This test requires an update when the background // drawing from the beginning of the line bug is fixed. The current @@ -181,7 +183,7 @@ void main() { find.byType(RepaintBoundary), matchesGoldenFile('text_golden.Background.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets('Text Fade', (WidgetTester tester) async { await tester.pumpWidget( @@ -217,7 +219,7 @@ void main() { find.byType(RepaintBoundary).first, matchesGoldenFile('text_golden.Fade.1.png'), ); - }, skip: !isLinux); + }, skip: !Platform.isLinux); testWidgets('Default Strut text', (WidgetTester tester) async { await tester.pumpWidget( @@ -478,7 +480,7 @@ void main() { find.byType(Container), matchesGoldenFile('text_golden.Decoration.1.0.png'), ); - }, skip: !isLinux); // Coretext uses different thicknesses for decoration + }, skip: !Platform.isLinux); // Coretext uses different thicknesses for decoration testWidgets('Decoration thickness', (WidgetTester tester) async { final TextDecoration allDecorations = TextDecoration.combine( @@ -517,5 +519,5 @@ void main() { find.byType(Container), matchesGoldenFile('text_golden.DecorationThickness.1.0.png'), ); - }, skip: !isLinux); // Coretext uses different thicknesses for decoration + }, skip: !Platform.isLinux); // Coretext uses different thicknesses for decoration } diff --git a/packages/flutter/test/widgets/widget_inspector_test.dart b/packages/flutter/test/widgets/widget_inspector_test.dart index 046528a64ac..4c09d4b6573 100644 --- a/packages/flutter/test/widgets/widget_inspector_test.dart +++ b/packages/flutter/test/widgets/widget_inspector_test.dart @@ -4,6 +4,7 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:io' show Platform; import 'dart:math'; import 'dart:ui' as ui; @@ -1582,7 +1583,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { _CreationLocation location = knownLocations[id]; expect(location.file, equals(file)); // ClockText widget. - expect(location.line, equals(50)); + expect(location.line, equals(51)); expect(location.column, equals(9)); expect(count, equals(1)); @@ -1591,7 +1592,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { location = knownLocations[id]; expect(location.file, equals(file)); // Text widget in _ClockTextState build method. - expect(location.line, equals(88)); + expect(location.line, equals(89)); expect(location.column, equals(12)); expect(count, equals(1)); @@ -1616,7 +1617,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { location = knownLocations[id]; expect(location.file, equals(file)); // ClockText widget. - expect(location.line, equals(50)); + expect(location.line, equals(51)); expect(location.column, equals(9)); expect(count, equals(3)); // 3 clock widget instances rebuilt. @@ -1625,7 +1626,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { location = knownLocations[id]; expect(location.file, equals(file)); // Text widget in _ClockTextState build method. - expect(location.line, equals(88)); + expect(location.line, equals(89)); expect(location.column, equals(12)); expect(count, equals(3)); // 3 clock widget instances rebuilt. @@ -1896,7 +1897,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { await expectLater( layer.toImage(renderObject.semanticBounds.inflate(50.0)), matchesGoldenFile('inspector.repaint_boundary_margin.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); // Regression test for how rendering with a pixel scale other than 1.0 @@ -1907,7 +1908,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { pixelRatio: 0.5, ), matchesGoldenFile('inspector.repaint_boundary_margin_small.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await expectLater( @@ -1916,7 +1917,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { pixelRatio: 2.0, ), matchesGoldenFile('inspector.repaint_boundary_margin_large.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); final Layer layerParent = layer.parent; @@ -1932,7 +1933,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { height: 300.0, ), matchesGoldenFile('inspector.repaint_boundary.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); // Verify that taking a screenshot didn't change the layers associated with @@ -1950,7 +1951,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { margin: 50.0, ), matchesGoldenFile('inspector.repaint_boundary_margin.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); // Verify that taking a screenshot didn't change the layers associated with @@ -1971,7 +1972,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { debugPaint: true, ), matchesGoldenFile('inspector.repaint_boundary_debugPaint.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); // Verify that taking a screenshot with debug paint on did not change // the number of children the layer has. @@ -1982,7 +1983,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { await expectLater( find.byType(RepaintBoundaryWithDebugPaint), matchesGoldenFile('inspector.repaint_boundary.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); expect(renderObject.debugLayer, equals(layer)); @@ -1996,7 +1997,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { height: 100.0, ), matchesGoldenFile('inspector.container.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await expectLater( @@ -2007,7 +2008,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { debugPaint: true, ), matchesGoldenFile('inspector.container_debugPaint.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); { @@ -2028,7 +2029,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { debugPaint: true, ), matchesGoldenFile('inspector.container_debugPaint.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); expect(container.debugNeedsLayout, isFalse); } @@ -2041,7 +2042,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { height: 100.0, ), matchesGoldenFile('inspector.container_small.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await expectLater( @@ -2052,7 +2053,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { maxPixelRatio: 3.0, ), matchesGoldenFile('inspector.container_large.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); // This screenshot will show the clip rect debug paint but no other @@ -2065,7 +2066,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { debugPaint: true, ), matchesGoldenFile('inspector.clipRect_debugPaint.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); final Element clipRect = find.byType(ClipRRect).evaluate().single; @@ -2082,7 +2083,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { await expectLater( clipRectScreenshot, matchesGoldenFile('inspector.clipRect_debugPaint_margin.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); // Verify we get the same image if we go through the service extension @@ -2110,7 +2111,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { await expectLater( screenshotImage, matchesReferenceImage(await clipRectScreenshot), - skip: !isLinux, + skip: !Platform.isLinux, ); // Test with a very visible debug paint @@ -2122,7 +2123,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { debugPaint: true, ), matchesGoldenFile('inspector.padding_debugPaint.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); // The bounds for this box crop its rendered content. @@ -2134,7 +2135,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { debugPaint: true, ), matchesGoldenFile('inspector.sizedBox_debugPaint.1.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); // Verify that setting a margin includes the previously cropped content. @@ -2147,7 +2148,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { debugPaint: true, ), matchesGoldenFile('inspector.sizedBox_debugPaint_margin.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -2219,7 +2220,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { await expectLater( find.byKey(mainStackKey), matchesGoldenFile('inspector.composited_transform.only_offsets.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await expectLater( @@ -2229,13 +2230,13 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { height: 500.0, ), matchesGoldenFile('inspector.composited_transform.only_offsets_follower.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await expectLater( WidgetInspectorService.instance.screenshot(find.byType(Stack).evaluate().first, width: 300.0, height: 300.0), matchesGoldenFile('inspector.composited_transform.only_offsets_small.1.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await expectLater( @@ -2245,7 +2246,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { height: 500.0, ), matchesGoldenFile('inspector.composited_transform.only_offsets_target.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); }); @@ -2318,7 +2319,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { await expectLater( find.byKey(mainStackKey), matchesGoldenFile('inspector.composited_transform.with_rotations.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await expectLater( @@ -2328,7 +2329,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { height: 500.0, ), matchesGoldenFile('inspector.composited_transform.with_rotations_small.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await expectLater( @@ -2338,7 +2339,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { height: 500.0, ), matchesGoldenFile('inspector.composited_transform.with_rotations_target.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); await expectLater( @@ -2348,7 +2349,7 @@ class TestWidgetInspectorService extends Object with WidgetInspectorService { height: 500.0, ), matchesGoldenFile('inspector.composited_transform.with_rotations_follower.png'), - skip: !isLinux, + skip: !Platform.isLinux, ); // Make sure taking screenshots hasn't modified the positions of the diff --git a/packages/flutter_test/lib/flutter_test.dart b/packages/flutter_test/lib/flutter_test.dart index d2ade297275..177a959fe6d 100644 --- a/packages/flutter_test/lib/flutter_test.dart +++ b/packages/flutter_test/lib/flutter_test.dart @@ -54,7 +54,6 @@ export 'src/finders.dart'; export 'src/goldens.dart'; export 'src/matchers.dart'; export 'src/nonconst.dart'; -export 'src/platform.dart'; export 'src/stack_manipulation.dart'; export 'src/test_async_utils.dart'; export 'src/test_compat.dart'; diff --git a/packages/flutter_test/lib/src/platform.dart b/packages/flutter_test/lib/src/platform.dart deleted file mode 100644 index 4bdf6a915fb..00000000000 --- a/packages/flutter_test/lib/src/platform.dart +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -import 'dart:io'; - -// Whether the current dart code is running in an environment that was compiled -// to JavaScript. -const bool _kIsCompiledToJavaScript = identical(0, 0.0); - -/// Whether the test is running on the Windows operating system. -/// -/// This does not include test compiled to JavaScript running in a browser on -/// the Windows operating system. -bool get isWindows { - if (_kIsCompiledToJavaScript) { - return false; - } - return Platform.isWindows; -} - -/// Whether the test is running on the macOS operating system. -/// -/// This does not include test compiled to JavaScript running in a browser on -/// the macOS operating system. -bool get isMacOS { - if (_kIsCompiledToJavaScript) { - return false; - } - return Platform.isMacOS; -} - -/// Whether the test is running on the Linux operating system. -/// -/// This does not include test compiled to JavaScript running in a browser on -/// the Linux operating system. -bool get isLinux { - if (_kIsCompiledToJavaScript) { - return false; - } - return Platform.isLinux; -} - -/// Whether the test is running in a web browser compiled to JavaScript. -bool get isBrowser { - return _kIsCompiledToJavaScript; -}