Unverified Commit 6619ab8f authored by Jonah Williams's avatar Jonah Williams Committed by GitHub

Add web safe indirection to Platform.isPlatform getters (2) (#33780)

parent cd1d40a7
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/animation.dart'; import 'package:flutter/animation.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
...@@ -85,7 +83,7 @@ void main() { ...@@ -85,7 +83,7 @@ void main() {
), ),
moreOrLessEquals(0.0), moreOrLessEquals(0.0),
); );
}, skip: Platform.isWindows); // floating point math not quite deterministic on Windows? }, skip: isWindows); // floating point math not quite deterministic on Windows?
test('ConstantTween', () { test('ConstantTween', () {
final ConstantTween<double> tween = ConstantTween<double>(100.0); final ConstantTween<double> tween = ConstantTween<double>(100.0);
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'dart:ui'; import 'dart:ui';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
...@@ -845,7 +844,7 @@ void main() { ...@@ -845,7 +844,7 @@ void main() {
await expectLater( await expectLater(
find.byType(CupertinoDatePicker), find.byType(CupertinoDatePicker),
matchesGoldenFile('date_picker_test.datetime.initial.1.png'), matchesGoldenFile('date_picker_test.datetime.initial.1.png'),
skip: !Platform.isLinux skip: !isLinux
); );
// Slightly drag the hour component to make the current hour off-center. // Slightly drag the hour component to make the current hour off-center.
...@@ -855,7 +854,7 @@ void main() { ...@@ -855,7 +854,7 @@ void main() {
await expectLater( await expectLater(
find.byType(CupertinoDatePicker), find.byType(CupertinoDatePicker),
matchesGoldenFile('date_picker_test.datetime.drag.1.png'), matchesGoldenFile('date_picker_test.datetime.drag.1.png'),
skip: !Platform.isLinux skip: !isLinux
); );
}); });
}); });
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
...@@ -806,7 +804,7 @@ void main() { ...@@ -806,7 +804,7 @@ void main() {
}, },
// TODO(xster): remove once https://github.com/flutter/flutter/issues/17483 // TODO(xster): remove once https://github.com/flutter/flutter/issues/17483
// is fixed. // is fixed.
skip: !Platform.isLinux, skip: !isLinux,
); );
testWidgets( testWidgets(
...@@ -840,7 +838,7 @@ void main() { ...@@ -840,7 +838,7 @@ void main() {
}, },
// TODO(xster): remove once https://github.com/flutter/flutter/issues/17483 // TODO(xster): remove once https://github.com/flutter/flutter/issues/17483
// is fixed. // is fixed.
skip: !Platform.isLinux, skip: !isLinux,
); );
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -1329,7 +1327,7 @@ void main() { ...@@ -1329,7 +1327,7 @@ void main() {
find.byType(RepaintBoundary), find.byType(RepaintBoundary),
matchesGoldenFile('segmented_control_test.0.0.png'), matchesGoldenFile('segmented_control_test.0.0.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets('Golden Test Pressed State', (WidgetTester tester) async { testWidgets('Golden Test Pressed State', (WidgetTester tester) async {
final Map<int, Widget> children = <int, Widget>{}; final Map<int, Widget> children = <int, Widget>{};
...@@ -1367,5 +1365,5 @@ void main() { ...@@ -1367,5 +1365,5 @@ void main() {
find.byType(RepaintBoundary), find.byType(RepaintBoundary),
matchesGoldenFile('segmented_control_test.1.0.png'), matchesGoldenFile('segmented_control_test.1.0.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
} }
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:async'; import 'dart:async';
import 'dart:io';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
...@@ -376,7 +375,7 @@ void main() { ...@@ -376,7 +375,7 @@ void main() {
find.byKey(const ValueKey<int>(1)), find.byKey(const ValueKey<int>(1)),
matchesGoldenFile('text_field_cursor_test.0.2.png'), matchesGoldenFile('text_field_cursor_test.0.2.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets('cursor iOS golden', (WidgetTester tester) async { testWidgets('cursor iOS golden', (WidgetTester tester) async {
debugDefaultTargetPlatformOverride = TargetPlatform.iOS; debugDefaultTargetPlatformOverride = TargetPlatform.iOS;
...@@ -406,7 +405,7 @@ void main() { ...@@ -406,7 +405,7 @@ void main() {
find.byKey(const ValueKey<int>(1)), find.byKey(const ValueKey<int>(1)),
matchesGoldenFile('text_field_cursor_test.1.2.png'), matchesGoldenFile('text_field_cursor_test.1.2.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets( testWidgets(
'can control text content via controller', 'can control text content via controller',
...@@ -2613,7 +2612,7 @@ void main() { ...@@ -2613,7 +2612,7 @@ void main() {
await expectLater( await expectLater(
find.byType(CupertinoTextField), find.byType(CupertinoTextField),
matchesGoldenFile('text_field_test.disabled.0.png'), matchesGoldenFile('text_field_test.disabled.0.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
} }
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -83,7 +81,7 @@ void main() { ...@@ -83,7 +81,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(_painterKey), find.byKey(_painterKey),
matchesGoldenFile('bottom_app_bar_theme.custom_shape.png'), matchesGoldenFile('bottom_app_bar_theme.custom_shape.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'dart:ui'; import 'dart:ui';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -1436,7 +1435,7 @@ void main() { ...@@ -1436,7 +1435,7 @@ void main() {
await expectLater( await expectLater(
find.byType(BottomNavigationBar), find.byType(BottomNavigationBar),
matchesGoldenFile('bottom_navigation_bar.shifting_transition.2.$pump.png'), matchesGoldenFile('bottom_navigation_bar.shifting_transition.2.$pump.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
} }
}); });
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -140,7 +138,7 @@ void main() { ...@@ -140,7 +138,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(painterKey), find.byKey(painterKey),
matchesGoldenFile('card_theme.custom_shape.png'), matchesGoldenFile('card_theme.custom_shape.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
} }
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'dart:ui'; import 'dart:ui';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
...@@ -20,7 +19,7 @@ void main() { ...@@ -20,7 +19,7 @@ void main() {
}, },
// Skip on Windows because this test is quite flaky when run on Windows, // Skip on Windows because this test is quite flaky when run on Windows,
// until https://github.com/flutter/flutter/issues/19696 is fixed. // until https://github.com/flutter/flutter/issues/19696 is fixed.
skip: Platform.isWindows, skip: isWindows,
); );
} }
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -133,7 +131,7 @@ void main() { ...@@ -133,7 +131,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(_painterKey), find.byKey(_painterKey),
matchesGoldenFile('dialog_theme.dialog_with_custom_border.png'), matchesGoldenFile('dialog_theme.dialog_with_custom_border.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'dart:math' as math; import 'dart:math' as math;
import 'dart:ui' show window; import 'dart:ui' show window;
...@@ -142,7 +141,7 @@ void main() { ...@@ -142,7 +141,7 @@ void main() {
await expectLater( await expectLater(
find.ancestor(of: buttonFinder, matching: find.byType(RepaintBoundary)).first, find.ancestor(of: buttonFinder, matching: find.byType(RepaintBoundary)).first,
matchesGoldenFile('dropdown_test.default.0.png'), matchesGoldenFile('dropdown_test.default.0.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
...@@ -155,7 +154,7 @@ void main() { ...@@ -155,7 +154,7 @@ void main() {
await expectLater( await expectLater(
find.ancestor(of: buttonFinder, matching: find.byType(RepaintBoundary)).first, find.ancestor(of: buttonFinder, matching: find.byType(RepaintBoundary)).first,
matchesGoldenFile('dropdown_test.expanded.0.png'), matchesGoldenFile('dropdown_test.expanded.0.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'dart:ui'; import 'dart:ui';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -737,7 +736,7 @@ void main() { ...@@ -737,7 +736,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(key), find.byKey(key),
matchesGoldenFile('floating_action_button_test.clip.2.png'), // .clip.1.png is obsolete and can be removed matchesGoldenFile('floating_action_button_test.clip.2.png'), // .clip.1.png is obsolete and can be removed
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:async'; import 'dart:async';
import 'dart:io' show Platform;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
...@@ -2031,17 +2030,17 @@ void main() { ...@@ -2031,17 +2030,17 @@ void main() {
await expectLater( await expectLater(
find.byType(InputDecorator), find.byType(InputDecorator),
matchesGoldenFile('input_decorator.outline_icon_label.ltr.png'), matchesGoldenFile('input_decorator.outline_icon_label.ltr.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
await tester.pumpWidget(buildFrame(TextDirection.rtl)); await tester.pumpWidget(buildFrame(TextDirection.rtl));
await expectLater( await expectLater(
find.byType(InputDecorator), find.byType(InputDecorator),
matchesGoldenFile('input_decorator.outline_icon_label.rtl.png'), matchesGoldenFile('input_decorator.outline_icon_label.rtl.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}, },
skip: !Platform.isLinux, skip: !isLinux,
); );
testWidgets('InputDecorator draws and animates hoverColor', (WidgetTester tester) async { testWidgets('InputDecorator draws and animates hoverColor', (WidgetTester tester) async {
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/painting.dart'; import 'package:flutter/painting.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
...@@ -619,7 +617,7 @@ void main() { ...@@ -619,7 +617,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(painterKey), find.byKey(painterKey),
matchesGoldenFile('material.border_paint_above.png'), matchesGoldenFile('material.border_paint_above.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
...@@ -660,7 +658,7 @@ void main() { ...@@ -660,7 +658,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(painterKey), find.byKey(painterKey),
matchesGoldenFile('material.border_paint_below.png'), matchesGoldenFile('material.border_paint_below.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
}); });
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'dart:ui'; import 'dart:ui';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
...@@ -278,7 +277,7 @@ void main() { ...@@ -278,7 +277,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(painterKey), find.byKey(painterKey),
matchesGoldenFile('radio.ink_ripple.png'), matchesGoldenFile('radio.ink_ripple.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
} }
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -270,7 +268,7 @@ void main() { ...@@ -270,7 +268,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(_painterKey), find.byKey(_painterKey),
matchesGoldenFile('tab_bar_theme.tab_indicator_size_tab.png'), matchesGoldenFile('tab_bar_theme.tab_indicator_size_tab.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
...@@ -282,7 +280,7 @@ void main() { ...@@ -282,7 +280,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(_painterKey), find.byKey(_painterKey),
matchesGoldenFile('tab_bar_theme.tab_indicator_size_label.png'), matchesGoldenFile('tab_bar_theme.tab_indicator_size_label.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
...@@ -299,7 +297,7 @@ void main() { ...@@ -299,7 +297,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(_painterKey), find.byKey(_painterKey),
matchesGoldenFile('tab_bar_theme.custom_tab_indicator.png'), matchesGoldenFile('tab_bar_theme.custom_tab_indicator.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
...@@ -316,7 +314,7 @@ void main() { ...@@ -316,7 +314,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(_painterKey), find.byKey(_painterKey),
matchesGoldenFile('tab_bar_theme.beveled_rect_indicator.png'), matchesGoldenFile('tab_bar_theme.beveled_rect_indicator.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
} }
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:async'; import 'dart:async';
import 'dart:io';
import 'dart:math' as math; import 'dart:math' as math;
import 'dart:ui' as ui show window; import 'dart:ui' as ui show window;
...@@ -405,7 +404,7 @@ void main() { ...@@ -405,7 +404,7 @@ void main() {
find.byKey(const ValueKey<int>(1)), find.byKey(const ValueKey<int>(1)),
matchesGoldenFile('text_field_cursor_test.0.0.png'), matchesGoldenFile('text_field_cursor_test.0.0.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets('cursor iOS golden', (WidgetTester tester) async { testWidgets('cursor iOS golden', (WidgetTester tester) async {
debugDefaultTargetPlatformOverride = TargetPlatform.iOS; debugDefaultTargetPlatformOverride = TargetPlatform.iOS;
...@@ -434,7 +433,7 @@ void main() { ...@@ -434,7 +433,7 @@ void main() {
find.byKey(const ValueKey<int>(1)), find.byKey(const ValueKey<int>(1)),
matchesGoldenFile('text_field_cursor_test.1.0.png'), matchesGoldenFile('text_field_cursor_test.1.0.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets('text field selection toolbar renders correctly inside opacity', (WidgetTester tester) async { testWidgets('text field selection toolbar renders correctly inside opacity', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
...@@ -484,7 +483,7 @@ void main() { ...@@ -484,7 +483,7 @@ void main() {
// The toolbar exists in the Overlay above the MaterialApp. // The toolbar exists in the Overlay above the MaterialApp.
find.byType(Overlay), find.byType(Overlay),
matchesGoldenFile('text_field_opacity_test.0.2.png'), matchesGoldenFile('text_field_opacity_test.0.2.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/painting.dart'; import 'package:flutter/painting.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -73,7 +72,7 @@ void main() { ...@@ -73,7 +72,7 @@ void main() {
await expectLater( await expectLater(
find.byType(RepaintBoundary), find.byType(RepaintBoundary),
matchesGoldenFile('continuous_rectangle_border.golden_test_even_radii.png'), matchesGoldenFile('continuous_rectangle_border.golden_test_even_radii.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
...@@ -95,7 +94,7 @@ void main() { ...@@ -95,7 +94,7 @@ void main() {
await expectLater( await expectLater(
find.byType(RepaintBoundary), find.byType(RepaintBoundary),
matchesGoldenFile('continuous_rectangle_border.golden_test_varying_radii.png'), matchesGoldenFile('continuous_rectangle_border.golden_test_varying_radii.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
...@@ -114,7 +113,7 @@ void main() { ...@@ -114,7 +113,7 @@ void main() {
await expectLater( await expectLater(
find.byType(RepaintBoundary), find.byType(RepaintBoundary),
matchesGoldenFile('continuous_rectangle_border.golden_test_large_radii.png'), matchesGoldenFile('continuous_rectangle_border.golden_test_large_radii.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/painting.dart'; import 'package:flutter/painting.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -321,7 +319,7 @@ void main() { ...@@ -321,7 +319,7 @@ void main() {
); );
}, },
// Ahem-based tests don't yet quite work on Windows or some MacOS environments // Ahem-based tests don't yet quite work on Windows or some MacOS environments
skip: Platform.isWindows || Platform.isMacOS); skip: !isLinux);
test('TextPainter - line wrap mid-word', () { test('TextPainter - line wrap mid-word', () {
final TextPainter painter = TextPainter() final TextPainter painter = TextPainter()
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -54,7 +52,7 @@ void main() { ...@@ -54,7 +52,7 @@ void main() {
matchesGoldenFile('localized_fonts.rich_text.styled_text_span.png'), matchesGoldenFile('localized_fonts.rich_text.styled_text_span.png'),
); );
}, },
skip: !Platform.isLinux, skip: !isLinux,
); );
testWidgets( testWidgets(
...@@ -106,7 +104,7 @@ void main() { ...@@ -106,7 +104,7 @@ void main() {
matchesGoldenFile('localized_fonts.text_ambient_locale.chars.png'), matchesGoldenFile('localized_fonts.text_ambient_locale.chars.png'),
); );
}, },
skip: !Platform.isLinux, skip: !isLinux,
); );
testWidgets( testWidgets(
...@@ -150,7 +148,7 @@ void main() { ...@@ -150,7 +148,7 @@ void main() {
matchesGoldenFile('localized_fonts.text_explicit_locale.chars.png'), matchesGoldenFile('localized_fonts.text_explicit_locale.chars.png'),
); );
}, },
skip: !Platform.isLinux, skip: !isLinux,
); );
} }
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'dart:ui' as ui show TextBox; import 'dart:ui' as ui show TextBox;
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
...@@ -71,7 +70,7 @@ void main() { ...@@ -71,7 +70,7 @@ void main() {
expect(boxes.any((ui.TextBox box) => box.right == 100 && box.top == 10), isTrue); 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 // Ahem-based tests don't yet quite work on Windows or some MacOS environments
skip: Platform.isWindows || Platform.isMacOS); skip: isLinux);
test('getWordBoundary control test', () { test('getWordBoundary control test', () {
final RenderParagraph paragraph = RenderParagraph( final RenderParagraph paragraph = RenderParagraph(
...@@ -193,7 +192,7 @@ void main() { ...@@ -193,7 +192,7 @@ void main() {
layoutAt(3); layoutAt(3);
expect(paragraph.size.height, 30.0); expect(paragraph.size.height, 30.0);
}, skip: Platform.isWindows); // Ahem-based tests don't yet quite work on Windows }, skip: isWindows); // Ahem-based tests don't yet quite work on Windows
test('changing color does not do layout', () { test('changing color does not do layout', () {
final RenderParagraph paragraph = RenderParagraph( final RenderParagraph paragraph = RenderParagraph(
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'dart:ui'; import 'dart:ui';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
...@@ -44,7 +43,7 @@ void main() { ...@@ -44,7 +43,7 @@ void main() {
await expectLater( await expectLater(
find.byType(RepaintBoundary).first, find.byType(RepaintBoundary).first,
matchesGoldenFile('backdrop_filter_test.cull_rect.1.png'), matchesGoldenFile('backdrop_filter_test.cull_rect.1.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
} }
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -94,7 +92,7 @@ void main() { ...@@ -94,7 +92,7 @@ void main() {
find.byKey(const ValueKey<int>(1)), find.byKey(const ValueKey<int>(1)),
matchesGoldenFile('editable_text_test.0.3.png'), matchesGoldenFile('editable_text_test.0.3.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets('cursor layout has correct radius', (WidgetTester tester) async { testWidgets('cursor layout has correct radius', (WidgetTester tester) async {
final GlobalKey<EditableTextState> editableTextKey = GlobalKey<EditableTextState>(); final GlobalKey<EditableTextState> editableTextKey = GlobalKey<EditableTextState>();
...@@ -145,7 +143,7 @@ void main() { ...@@ -145,7 +143,7 @@ void main() {
find.byKey(const ValueKey<int>(1)), find.byKey(const ValueKey<int>(1)),
matchesGoldenFile('editable_text_test.1.3.png'), matchesGoldenFile('editable_text_test.1.3.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets('Cursor animates on iOS', (WidgetTester tester) async { testWidgets('Cursor animates on iOS', (WidgetTester tester) async {
final Widget widget = MaterialApp( final Widget widget = MaterialApp(
...@@ -724,6 +722,6 @@ void main() { ...@@ -724,6 +722,6 @@ void main() {
matchesGoldenFile('editable_text_test.2.0.png'), matchesGoldenFile('editable_text_test.2.0.png'),
); );
debugDefaultTargetPlatformOverride = null; debugDefaultTargetPlatformOverride = null;
}, skip: !Platform.isLinux); }, skip: !isLinux);
} }
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
...@@ -23,7 +21,7 @@ void main() { ...@@ -23,7 +21,7 @@ void main() {
await expectLater( await expectLater(
find.byType(RepaintBoundary), find.byType(RepaintBoundary),
matchesGoldenFile('invert_colors_test.0.png'), matchesGoldenFile('invert_colors_test.0.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
...@@ -42,7 +40,7 @@ void main() { ...@@ -42,7 +40,7 @@ void main() {
await expectLater( await expectLater(
find.byType(RepaintBoundary), find.byType(RepaintBoundary),
matchesGoldenFile('invert_colors_test.1.png'), matchesGoldenFile('invert_colors_test.1.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
} }
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
...@@ -538,7 +536,7 @@ void main() { ...@@ -538,7 +536,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(const Key('list_wheel_scroll_view')), find.byKey(const Key('list_wheel_scroll_view')),
matchesGoldenFile('list_wheel_scroll_view.center_child.magnified.png'), matchesGoldenFile('list_wheel_scroll_view.center_child.magnified.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
...@@ -593,7 +591,7 @@ void main() { ...@@ -593,7 +591,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(const Key('list_wheel_scroll_view')), find.byKey(const Key('list_wheel_scroll_view')),
matchesGoldenFile('list_wheel_scroll_view.curved_wheel.left.png'), matchesGoldenFile('list_wheel_scroll_view.curved_wheel.left.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -180,7 +178,7 @@ void main() { ...@@ -180,7 +178,7 @@ void main() {
await expectLater( await expectLater(
find.byType(RepaintBoundary).first, find.byType(RepaintBoundary).first,
matchesGoldenFile('opacity_test.offset.1.png'), matchesGoldenFile('opacity_test.offset.1.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'dart:math' as math show pi; import 'dart:math' as math show pi;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -112,7 +111,7 @@ void main() { ...@@ -112,7 +111,7 @@ void main() {
await expectLater( await expectLater(
find.byKey(key), find.byKey(key),
matchesGoldenFile('physical_model_overflow.png'), matchesGoldenFile('physical_model_overflow.png'),
skip: !Platform.isLinux, skip: !isLinux,
); );
}); });
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -30,13 +28,11 @@ void main() { ...@@ -30,13 +28,11 @@ void main() {
debugDisableShadows = false; debugDisableShadows = false;
tester.binding.reassembleApplication(); tester.binding.reassembleApplication();
await tester.pump(); await tester.pump();
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( await expectLater(
find.byType(Container), find.byType(Container),
matchesGoldenFile('shadow.BoxDecoration.enabled.png'), matchesGoldenFile('shadow.BoxDecoration.enabled.png'),
skip: !isLinux
); // shadows render differently on different platforms ); // shadows render differently on different platforms
}
debugDisableShadows = true; debugDisableShadows = true;
}); });
...@@ -65,7 +61,7 @@ void main() { ...@@ -65,7 +61,7 @@ void main() {
); );
} }
debugDisableShadows = true; debugDisableShadows = true;
}, skip: !Platform.isLinux); // shadows render differently on different platforms }, skip: !isLinux); // shadows render differently on different platforms
testWidgets('Shadows with PhysicalLayer', (WidgetTester tester) async { testWidgets('Shadows with PhysicalLayer', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
...@@ -93,13 +89,11 @@ void main() { ...@@ -93,13 +89,11 @@ void main() {
debugDisableShadows = false; debugDisableShadows = false;
tester.binding.reassembleApplication(); tester.binding.reassembleApplication();
await tester.pump(); await tester.pump();
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( await expectLater(
find.byType(Container), find.byType(Container),
matchesGoldenFile('shadow.PhysicalModel.enabled.png'), matchesGoldenFile('shadow.PhysicalModel.enabled.png'),
skip: !isLinux,
); // shadows render differently on different platforms ); // shadows render differently on different platforms
}
debugDisableShadows = true; debugDisableShadows = true;
}); });
...@@ -132,5 +126,5 @@ void main() { ...@@ -132,5 +126,5 @@ void main() {
); );
} }
debugDisableShadows = true; debugDisableShadows = true;
}, skip: !Platform.isLinux); // shadows render differently on different platforms }, skip: !isLinux); // shadows render differently on different platforms
} }
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import 'dart:io' show Platform;
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
...@@ -57,7 +55,7 @@ void main() { ...@@ -57,7 +55,7 @@ void main() {
find.byType(Container), find.byType(Container),
matchesGoldenFile('text_golden.Centered.wrap.png'), matchesGoldenFile('text_golden.Centered.wrap.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets('Text Foreground', (WidgetTester tester) async { testWidgets('Text Foreground', (WidgetTester tester) async {
...@@ -133,7 +131,7 @@ void main() { ...@@ -133,7 +131,7 @@ void main() {
find.byType(RepaintBoundary), find.byType(RepaintBoundary),
matchesGoldenFile('text_golden.Foreground.stroke_and_gradient.png'), matchesGoldenFile('text_golden.Foreground.stroke_and_gradient.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
// TODO(garyq): This test requires an update when the background // TODO(garyq): This test requires an update when the background
// drawing from the beginning of the line bug is fixed. The current // drawing from the beginning of the line bug is fixed. The current
...@@ -183,7 +181,7 @@ void main() { ...@@ -183,7 +181,7 @@ void main() {
find.byType(RepaintBoundary), find.byType(RepaintBoundary),
matchesGoldenFile('text_golden.Background.png'), matchesGoldenFile('text_golden.Background.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets('Text Fade', (WidgetTester tester) async { testWidgets('Text Fade', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
...@@ -219,7 +217,7 @@ void main() { ...@@ -219,7 +217,7 @@ void main() {
find.byType(RepaintBoundary).first, find.byType(RepaintBoundary).first,
matchesGoldenFile('text_golden.Fade.1.png'), matchesGoldenFile('text_golden.Fade.1.png'),
); );
}, skip: !Platform.isLinux); }, skip: !isLinux);
testWidgets('Default Strut text', (WidgetTester tester) async { testWidgets('Default Strut text', (WidgetTester tester) async {
await tester.pumpWidget( await tester.pumpWidget(
...@@ -480,7 +478,7 @@ void main() { ...@@ -480,7 +478,7 @@ void main() {
find.byType(Container), find.byType(Container),
matchesGoldenFile('text_golden.Decoration.1.0.png'), matchesGoldenFile('text_golden.Decoration.1.0.png'),
); );
}, skip: !Platform.isLinux); // Coretext uses different thicknesses for decoration }, skip: !isLinux); // Coretext uses different thicknesses for decoration
testWidgets('Decoration thickness', (WidgetTester tester) async { testWidgets('Decoration thickness', (WidgetTester tester) async {
final TextDecoration allDecorations = TextDecoration.combine( final TextDecoration allDecorations = TextDecoration.combine(
...@@ -519,5 +517,5 @@ void main() { ...@@ -519,5 +517,5 @@ void main() {
find.byType(Container), find.byType(Container),
matchesGoldenFile('text_golden.DecorationThickness.1.0.png'), matchesGoldenFile('text_golden.DecorationThickness.1.0.png'),
); );
}, skip: !Platform.isLinux); // Coretext uses different thicknesses for decoration }, skip: !isLinux); // Coretext uses different thicknesses for decoration
} }
...@@ -54,6 +54,7 @@ export 'src/finders.dart'; ...@@ -54,6 +54,7 @@ export 'src/finders.dart';
export 'src/goldens.dart'; export 'src/goldens.dart';
export 'src/matchers.dart'; export 'src/matchers.dart';
export 'src/nonconst.dart'; export 'src/nonconst.dart';
export 'src/platform.dart';
export 'src/stack_manipulation.dart'; export 'src/stack_manipulation.dart';
export 'src/test_async_utils.dart'; export 'src/test_async_utils.dart';
export 'src/test_compat.dart'; export 'src/test_compat.dart';
......
// 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;
}
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