From 1748dfb24f32d54f2764a8f4f176c097575f0ada Mon Sep 17 00:00:00 2001 From: Mouad Debbar Date: Fri, 1 Dec 2023 15:49:06 -0500 Subject: [PATCH 1/3] [web] Bootstrap tests without implicit view by default --- lib/web_ui/lib/ui_web/src/ui_web/testing.dart | 4 +- .../backdrop_filter_golden_test.dart | 2 +- .../test/canvaskit/canvas_golden_test.dart | 2 +- .../canvaskit/color_filter_golden_test.dart | 2 +- lib/web_ui/test/canvaskit/common.dart | 3 +- .../test/canvaskit/embedded_views_test.dart | 2 +- lib/web_ui/test/canvaskit/filter_test.dart | 2 +- .../flutter_tester_emulation_golden_test.dart | 2 +- .../test/canvaskit/frame_timings_test.dart | 2 +- .../test/canvaskit/image_golden_test.dart | 2 +- lib/web_ui/test/canvaskit/layer_test.dart | 2 +- .../linear_gradient_golden_test.dart | 2 +- .../test/canvaskit/multi_view_test.dart | 2 +- .../no_create_image_bitmap_test.dart | 2 +- .../canvaskit/render_canvas_factory_test.dart | 2 +- lib/web_ui/test/canvaskit/semantics_test.dart | 2 +- .../canvaskit/shader_mask_golden_test.dart | 2 +- .../canvaskit/sweep_gradient_golden_test.dart | 2 +- .../test/common/test_initialization.dart | 27 ++++--- lib/web_ui/test/engine/canvas_test.dart | 2 +- lib/web_ui/test/engine/composition_test.dart | 2 +- lib/web_ui/test/engine/history_test.dart | 11 +-- lib/web_ui/test/engine/navigation_test.dart | 76 ++++++++++++------- .../test/engine/recording_canvas_test.dart | 1 + lib/web_ui/test/engine/scene_view_test.dart | 5 +- .../semantics/semantics_auto_enable_test.dart | 2 +- .../semantics/semantics_multi_view_test.dart | 7 -- .../semantics_placeholder_enable_test.dart | 2 +- .../test/engine/semantics/semantics_test.dart | 2 +- .../engine/surface/frame_timings_test.dart | 2 +- .../engine/surface/platform_view_test.dart | 2 +- .../engine/surface/scene_builder_test.dart | 2 +- lib/web_ui/test/engine/text_editing_test.dart | 1 + .../test/html/bitmap_canvas_golden_test.dart | 1 + lib/web_ui/test/html/clip_op_golden_test.dart | 1 + .../canvas_image_blend_mode_golden_test.dart | 1 + .../compositing/color_filter_golden_test.dart | 1 + .../compositing/compositing_golden_test.dart | 1 + .../canvas_draw_image_golden_test.dart | 1 + .../test/html/paragraph/bidi_golden_test.dart | 1 + .../html/paragraph/general_golden_test.dart | 1 + .../html/paragraph/justify_golden_test.dart | 1 + .../html/paragraph/overflow_golden_test.dart | 1 + .../paragraph/placeholders_golden_test.dart | 1 + .../html/paragraph/shadows_golden_test.dart | 1 + .../text_multiline_clipping_golden_test.dart | 1 + .../paragraph/text_overflow_golden_test.dart | 1 + .../text_placeholders_golden_test.dart | 1 + .../html/recording_canvas_golden_test.dart | 1 + .../html/shaders/gradient_golden_test.dart | 2 +- .../html/shaders/shader_mask_golden_test.dart | 1 + .../text/canvas_paragraph_builder_test.dart | 2 +- .../test/html/text/canvas_paragraph_test.dart | 2 +- .../test/html/text/font_loading_test.dart | 2 +- .../html/text/layout_service_plain_test.dart | 2 +- .../html/text/layout_service_rich_test.dart | 2 +- lib/web_ui/test/html/text_test.dart | 2 +- .../test/ui/canvas_curves_golden_test.dart | 1 + .../ui/canvas_draw_points_golden_test.dart | 1 + .../test/ui/canvas_lines_golden_test.dart | 1 + .../test/ui/draw_atlas_golden_test.dart | 1 + .../test/ui/fallback_fonts_golden_test.dart | 1 + lib/web_ui/test/ui/filters_test.dart | 1 + lib/web_ui/test/ui/fragment_shader_test.dart | 1 + lib/web_ui/test/ui/gradient_golden_test.dart | 1 + lib/web_ui/test/ui/image_golden_test.dart | 1 + .../test/ui/paragraph_builder_test.dart | 1 + lib/web_ui/test/ui/platform_view_test.dart | 1 + lib/web_ui/test/ui/scene_builder_test.dart | 1 + lib/web_ui/test/ui/shadow_test.dart | 1 + lib/web_ui/test/ui/text_golden_test.dart | 1 + lib/web_ui/test/ui/vertices_test.dart | 2 +- 72 files changed, 143 insertions(+), 87 deletions(-) diff --git a/lib/web_ui/lib/ui_web/src/ui_web/testing.dart b/lib/web_ui/lib/ui_web/src/ui_web/testing.dart index d03350ee735d5..ccf19efdfe3d0 100644 --- a/lib/web_ui/lib/ui_web/src/ui_web/testing.dart +++ b/lib/web_ui/lib/ui_web/src/ui_web/testing.dart @@ -31,9 +31,9 @@ bool get debugEmulateFlutterTesterEnvironment => set debugEmulateFlutterTesterEnvironment(bool value) { _debugEmulateFlutterTesterEnvironment = value; if (_debugEmulateFlutterTesterEnvironment) { - ensureImplicitViewInitialized(); const ui.Size logicalSize = ui.Size(800.0, 600.0); - window.debugPhysicalSizeOverride = logicalSize * window.devicePixelRatio; + final EngineFlutterWindow? implicitView = EnginePlatformDispatcher.instance.implicitView; + implicitView?.debugPhysicalSizeOverride = logicalSize * implicitView.devicePixelRatio; } debugDisableFontFallbacks = value; } diff --git a/lib/web_ui/test/canvaskit/backdrop_filter_golden_test.dart b/lib/web_ui/test/canvaskit/backdrop_filter_golden_test.dart index cb0b178e0554f..349fde7fa97d1 100644 --- a/lib/web_ui/test/canvaskit/backdrop_filter_golden_test.dart +++ b/lib/web_ui/test/canvaskit/backdrop_filter_golden_test.dart @@ -19,7 +19,7 @@ const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 500); void testMain() { group('BackdropFilter', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(1.0); test('blur renders to the edges', () async { diff --git a/lib/web_ui/test/canvaskit/canvas_golden_test.dart b/lib/web_ui/test/canvaskit/canvas_golden_test.dart index 3ada138eb3722..46e036596bb77 100644 --- a/lib/web_ui/test/canvaskit/canvas_golden_test.dart +++ b/lib/web_ui/test/canvaskit/canvas_golden_test.dart @@ -23,7 +23,7 @@ const ui.Rect kDefaultRegion = ui.Rect.fromLTRB(0, 0, 500, 250); void testMain() { group('CkCanvas', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); setUp(() { renderer.fontCollection.debugResetFallbackFonts(); diff --git a/lib/web_ui/test/canvaskit/color_filter_golden_test.dart b/lib/web_ui/test/canvaskit/color_filter_golden_test.dart index 18633e5df5ac3..48045ad942652 100644 --- a/lib/web_ui/test/canvaskit/color_filter_golden_test.dart +++ b/lib/web_ui/test/canvaskit/color_filter_golden_test.dart @@ -17,7 +17,7 @@ const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); void testMain() { group('ColorFilter', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); test('ColorFilter.matrix applies a color filter', () async { final LayerSceneBuilder builder = LayerSceneBuilder(); diff --git a/lib/web_ui/test/canvaskit/common.dart b/lib/web_ui/test/canvaskit/common.dart index d11dc2e04c871..542e0b3f036a1 100644 --- a/lib/web_ui/test/canvaskit/common.dart +++ b/lib/web_ui/test/canvaskit/common.dart @@ -16,8 +16,9 @@ import '../common/test_initialization.dart'; const MethodCodec codec = StandardMethodCodec(); /// Common test setup for all CanvasKit unit-tests. -void setUpCanvasKitTest() { +void setUpCanvasKitTest({bool withImplicitView = false}) { setUpUnitTests( + withImplicitView: withImplicitView, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/canvaskit/embedded_views_test.dart b/lib/web_ui/test/canvaskit/embedded_views_test.dart index 7884b85aeb8a8..a3abe41518ba9 100644 --- a/lib/web_ui/test/canvaskit/embedded_views_test.dart +++ b/lib/web_ui/test/canvaskit/embedded_views_test.dart @@ -25,7 +25,7 @@ void main() { void testMain() { group('$HtmlViewEmbedder', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); setUp(() { EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(1); diff --git a/lib/web_ui/test/canvaskit/filter_test.dart b/lib/web_ui/test/canvaskit/filter_test.dart index 750df247d85ec..1548911aa8c23 100644 --- a/lib/web_ui/test/canvaskit/filter_test.dart +++ b/lib/web_ui/test/canvaskit/filter_test.dart @@ -49,7 +49,7 @@ void testMain() { return filters; } - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); group('ImageFilters', () { test('can be constructed', () { diff --git a/lib/web_ui/test/canvaskit/flutter_tester_emulation_golden_test.dart b/lib/web_ui/test/canvaskit/flutter_tester_emulation_golden_test.dart index d26c8dda16d9a..3bc6a5cd3893e 100644 --- a/lib/web_ui/test/canvaskit/flutter_tester_emulation_golden_test.dart +++ b/lib/web_ui/test/canvaskit/flutter_tester_emulation_golden_test.dart @@ -20,7 +20,7 @@ void testMain() { ui_web.debugEmulateFlutterTesterEnvironment = true; group('flutter_tester emulation', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); test('defaults to FlutterTest font family', () async { diff --git a/lib/web_ui/test/canvaskit/frame_timings_test.dart b/lib/web_ui/test/canvaskit/frame_timings_test.dart index a22189b527946..0cacd4246616b 100644 --- a/lib/web_ui/test/canvaskit/frame_timings_test.dart +++ b/lib/web_ui/test/canvaskit/frame_timings_test.dart @@ -14,7 +14,7 @@ void main() { void testMain() { group('frame timings', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); test('collects frame timings', () async { await runFrameTimingsTest(); diff --git a/lib/web_ui/test/canvaskit/image_golden_test.dart b/lib/web_ui/test/canvaskit/image_golden_test.dart index a662b25ea0bfd..0684078f9386e 100644 --- a/lib/web_ui/test/canvaskit/image_golden_test.dart +++ b/lib/web_ui/test/canvaskit/image_golden_test.dart @@ -22,7 +22,7 @@ void main() { void testMain() { group('CanvasKit Images', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); tearDown(() { mockHttpFetchResponseFactory = null; diff --git a/lib/web_ui/test/canvaskit/layer_test.dart b/lib/web_ui/test/canvaskit/layer_test.dart index cf83e8abee889..ad2486a9f7ee2 100644 --- a/lib/web_ui/test/canvaskit/layer_test.dart +++ b/lib/web_ui/test/canvaskit/layer_test.dart @@ -17,7 +17,7 @@ void main() { void testMain() { group('CanvasKit', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); // Regression test for https://github.com/flutter/flutter/issues/63715 test('TransformLayer prerolls correctly', () async { diff --git a/lib/web_ui/test/canvaskit/linear_gradient_golden_test.dart b/lib/web_ui/test/canvaskit/linear_gradient_golden_test.dart index e99564f69eeae..af4888b457453 100644 --- a/lib/web_ui/test/canvaskit/linear_gradient_golden_test.dart +++ b/lib/web_ui/test/canvaskit/linear_gradient_golden_test.dart @@ -19,7 +19,7 @@ const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); void testMain() { group('Linear', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); test('is correctly rendered', () async { final CkPictureRecorder recorder = CkPictureRecorder(); diff --git a/lib/web_ui/test/canvaskit/multi_view_test.dart b/lib/web_ui/test/canvaskit/multi_view_test.dart index 2aa1815b67ea6..28f710aa222d3 100644 --- a/lib/web_ui/test/canvaskit/multi_view_test.dart +++ b/lib/web_ui/test/canvaskit/multi_view_test.dart @@ -15,7 +15,7 @@ void main() { void testMain() { group('CanvasKit', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); test('can render into arbitrary views', () async { final CkPicture picture = diff --git a/lib/web_ui/test/canvaskit/no_create_image_bitmap_test.dart b/lib/web_ui/test/canvaskit/no_create_image_bitmap_test.dart index 8861e9c037fe7..a3855e4b0030f 100644 --- a/lib/web_ui/test/canvaskit/no_create_image_bitmap_test.dart +++ b/lib/web_ui/test/canvaskit/no_create_image_bitmap_test.dart @@ -17,7 +17,7 @@ const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); /// Test that we can render even if `createImageBitmap` is not supported. void testMain() { group('CanvasKit', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); setUp(() async { EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(1.0); }); diff --git a/lib/web_ui/test/canvaskit/render_canvas_factory_test.dart b/lib/web_ui/test/canvaskit/render_canvas_factory_test.dart index 2e85655a19825..26aa5e10391b1 100644 --- a/lib/web_ui/test/canvaskit/render_canvas_factory_test.dart +++ b/lib/web_ui/test/canvaskit/render_canvas_factory_test.dart @@ -16,7 +16,7 @@ void main() { void testMain() { group('$RenderCanvasFactory', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); test('getCanvas', () { final RenderCanvasFactory factory = RenderCanvasFactory(); diff --git a/lib/web_ui/test/canvaskit/semantics_test.dart b/lib/web_ui/test/canvaskit/semantics_test.dart index 4c36e25ff3f3a..ce4b8598de419 100644 --- a/lib/web_ui/test/canvaskit/semantics_test.dart +++ b/lib/web_ui/test/canvaskit/semantics_test.dart @@ -22,7 +22,7 @@ void main() { // semantics. Future testMain() async { group('CanvasKit semantics', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); runSemanticsTests(); }); diff --git a/lib/web_ui/test/canvaskit/shader_mask_golden_test.dart b/lib/web_ui/test/canvaskit/shader_mask_golden_test.dart index f1cb2dddb596e..f1af16b2ec797 100644 --- a/lib/web_ui/test/canvaskit/shader_mask_golden_test.dart +++ b/lib/web_ui/test/canvaskit/shader_mask_golden_test.dart @@ -18,7 +18,7 @@ const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); void testMain() { group('ShaderMask', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); test('Renders sweep gradient with color blend', () async { final LayerSceneBuilder builder = LayerSceneBuilder(); diff --git a/lib/web_ui/test/canvaskit/sweep_gradient_golden_test.dart b/lib/web_ui/test/canvaskit/sweep_gradient_golden_test.dart index 13374c0be678f..c00eceb0a93ce 100644 --- a/lib/web_ui/test/canvaskit/sweep_gradient_golden_test.dart +++ b/lib/web_ui/test/canvaskit/sweep_gradient_golden_test.dart @@ -19,7 +19,7 @@ const ui.Rect region = ui.Rect.fromLTRB(0, 0, 500, 250); void testMain() { group('SweepGradient', () { - setUpCanvasKitTest(); + setUpCanvasKitTest(withImplicitView: true); test('is correctly rendered', () async { final CkPictureRecorder recorder = CkPictureRecorder(); diff --git a/lib/web_ui/test/common/test_initialization.dart b/lib/web_ui/test/common/test_initialization.dart index b6359877d587f..ae6345e743313 100644 --- a/lib/web_ui/test/common/test_initialization.dart +++ b/lib/web_ui/test/common/test_initialization.dart @@ -13,34 +13,28 @@ import 'package:ui/ui_web/src/ui_web.dart' as ui_web; import 'fake_asset_manager.dart'; void setUpUnitTests({ + bool withImplicitView = false, bool emulateTesterEnvironment = true, bool setUpTestViewDimensions = true, }) { late final FakeAssetScope debugFontsScope; setUpAll(() async { - // The implicit view is needed for `debugEmulateFlutterTesterEnvironment`, - // `flutterViewEmbedder`, and `debugPhysicalSizeOverride`. - engine.ensureImplicitViewInitialized(); - if (emulateTesterEnvironment) { ui_web.debugEmulateFlutterTesterEnvironment = true; } debugFontsScope = configureDebugFontsAssetScope(fakeAssetManager); debugOnlyAssetManager = fakeAssetManager; - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: withImplicitView); engine.renderer.fontCollection.fontFallbackManager?.downloadQueue.fallbackFontUrlPrefixOverride = 'assets/fallback_fonts/'; if (setUpTestViewDimensions) { - // Force-initialize FlutterViewEmbedder so it doesn't overwrite test pixel ratio. - engine.ensureFlutterViewEmbedderInitialized(); - // The following parameters are hard-coded in Flutter's test embedder. Since // we don't have an embedder yet this is the lowest-most layer we can put // this stuff in. const double devicePixelRatio = 3.0; engine.EngineFlutterDisplay.instance.debugOverrideDevicePixelRatio(devicePixelRatio); - engine.EnginePlatformDispatcher.instance.implicitView!.debugPhysicalSizeOverride = + engine.EnginePlatformDispatcher.instance.implicitView?.debugPhysicalSizeOverride = const ui.Size(800 * devicePixelRatio, 600 * devicePixelRatio); engine.scheduleFrameCallback = () {}; } @@ -51,8 +45,21 @@ void setUpUnitTests({ }); } -Future bootstrapAndRunApp() async { +Future bootstrapAndRunApp({bool withImplicitView = false}) async { final Completer completer = Completer(); await ui_web.bootstrapEngine(runApp: () => completer.complete()); await completer.future; + if (!withImplicitView) { + _disableImplicitView(); + } +} + +void _disableImplicitView() { + // TODO(mdebbar): Instead of disabling the implicit view, we should be able to + // initialize tests without an implicit view to begin with. + // https://github.com/flutter/flutter/issues/138906 + final engine.EngineFlutterWindow? implicitView = engine.EnginePlatformDispatcher.instance.implicitView; + if (implicitView != null) { + engine.EnginePlatformDispatcher.instance.viewManager.disposeAndUnregisterView(implicitView.viewId); + } } diff --git a/lib/web_ui/test/engine/canvas_test.dart b/lib/web_ui/test/engine/canvas_test.dart index 0f19e1260b697..497bed0d34416 100644 --- a/lib/web_ui/test/engine/canvas_test.dart +++ b/lib/web_ui/test/engine/canvas_test.dart @@ -16,7 +16,7 @@ void main() { } Future testMain() async { - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: true); group('EngineCanvas', () { late MockEngineCanvas mockCanvas; diff --git a/lib/web_ui/test/engine/composition_test.dart b/lib/web_ui/test/engine/composition_test.dart index cde257df90277..6e743139bd47d 100644 --- a/lib/web_ui/test/engine/composition_test.dart +++ b/lib/web_ui/test/engine/composition_test.dart @@ -48,7 +48,7 @@ GloballyPositionedTextEditingStrategy _enableEditingStrategy({ } Future testMain() async { - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: true); const String fakeComposingText = 'ImComposingText'; diff --git a/lib/web_ui/test/engine/history_test.dart b/lib/web_ui/test/engine/history_test.dart index f48ed13bed9db..706d16b728488 100644 --- a/lib/web_ui/test/engine/history_test.dart +++ b/lib/web_ui/test/engine/history_test.dart @@ -12,6 +12,7 @@ import 'package:ui/ui_web/src/ui_web.dart'; import '../common/matchers.dart'; import '../common/spy.dart'; +import '../common/test_initialization.dart'; EngineFlutterWindow get implicitView => EnginePlatformDispatcher.instance.implicitView!; @@ -37,8 +38,8 @@ void main() { } void testMain() { - setUpAll(() { - ensureImplicitViewInitialized(); + setUpAll(() async { + await bootstrapAndRunApp(withImplicitView: true); }); test('createHistoryForExistingState', () { @@ -746,7 +747,7 @@ void testMain() { Future routeUpdated(String routeName) { final Completer completer = Completer(); - implicitView.sendPlatformMessage( + EnginePlatformDispatcher.instance.sendPlatformMessage( 'flutter/navigation', codec.encodeMethodCall(MethodCall( 'routeUpdated', @@ -759,7 +760,7 @@ Future routeUpdated(String routeName) { Future routeInformationUpdated(String location, dynamic state) { final Completer completer = Completer(); - implicitView.sendPlatformMessage( + EnginePlatformDispatcher.instance.sendPlatformMessage( 'flutter/navigation', codec.encodeMethodCall(MethodCall( 'routeInformationUpdated', @@ -772,7 +773,7 @@ Future routeInformationUpdated(String location, dynamic state) { Future systemNavigatorPop() { final Completer completer = Completer(); - implicitView.sendPlatformMessage( + EnginePlatformDispatcher.instance.sendPlatformMessage( 'flutter/platform', codec.encodeMethodCall(const MethodCall('SystemNavigator.pop')), (_) => completer.complete(), diff --git a/lib/web_ui/test/engine/navigation_test.dart b/lib/web_ui/test/engine/navigation_test.dart index f9a01ea5c32cf..5280c37abd24e 100644 --- a/lib/web_ui/test/engine/navigation_test.dart +++ b/lib/web_ui/test/engine/navigation_test.dart @@ -7,14 +7,15 @@ import 'dart:typed_data'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart'; -import 'package:ui/src/engine.dart' as engine; -import 'package:ui/src/engine/window.dart'; +import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; -const engine.MethodCodec codec = engine.JSONMethodCodec(); +import '../common/test_initialization.dart'; -engine.EngineFlutterWindow get implicitView => - engine.EnginePlatformDispatcher.instance.implicitView!; +const MethodCodec codec = JSONMethodCodec(); + +EngineFlutterWindow get implicitView => + EnginePlatformDispatcher.instance.implicitView!; void emptyCallback(ByteData date) {} @@ -23,33 +24,52 @@ void main() { } void testMain() { - engine.TestUrlStrategy? strategy; + group('without implicit view', () { + test('Handles navigation gracefully when no implicit view exists', () async { + expect(EnginePlatformDispatcher.instance.implicitView, isNull); - setUpAll(() { - ensureImplicitViewInitialized(); + final Completer completer = Completer(); + ui.PlatformDispatcher.instance.sendPlatformMessage( + 'flutter/navigation', + codec.encodeMethodCall(const MethodCall( + 'routeUpdated', + {'routeName': '/foo'}, + )), + (ByteData? response) => completer.complete(response), + ); + final ByteData? response = await completer.future; + expect(response, isNull); + }); }); - setUp(() async { - strategy = engine.TestUrlStrategy(); - await implicitView.debugInitializeHistory(strategy, useSingle: true); - }); + group('with implicit view', () { + late TestUrlStrategy strategy; - tearDown(() async { - strategy = null; - await implicitView.resetHistory(); - }); + setUpAll(() async { + await bootstrapAndRunApp(withImplicitView: true); + }); + + setUp(() async { + strategy = TestUrlStrategy(); + await implicitView.debugInitializeHistory(strategy, useSingle: true); + }); + + tearDown(() async { + await implicitView.resetHistory(); + }); - test('Tracks pushed, replaced and popped routes', () async { - final Completer completer = Completer(); - ui.PlatformDispatcher.instance.sendPlatformMessage( - 'flutter/navigation', - codec.encodeMethodCall(const engine.MethodCall( - 'routeUpdated', - {'routeName': '/foo'}, - )), - (_) => completer.complete(), - ); - await completer.future; - expect(strategy!.getPath(), '/foo'); + test('Tracks pushed, replaced and popped routes', () async { + final Completer completer = Completer(); + ui.PlatformDispatcher.instance.sendPlatformMessage( + 'flutter/navigation', + codec.encodeMethodCall(const MethodCall( + 'routeUpdated', + {'routeName': '/foo'}, + )), + (_) => completer.complete(), + ); + await completer.future; + expect(strategy.getPath(), '/foo'); + }); }); } diff --git a/lib/web_ui/test/engine/recording_canvas_test.dart b/lib/web_ui/test/engine/recording_canvas_test.dart index 14ebcb824aea6..db122e5d8e682 100644 --- a/lib/web_ui/test/engine/recording_canvas_test.dart +++ b/lib/web_ui/test/engine/recording_canvas_test.dart @@ -16,6 +16,7 @@ void main() { void testMain() { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/engine/scene_view_test.dart b/lib/web_ui/test/engine/scene_view_test.dart index 2580be479554a..d908f70d8c818 100644 --- a/lib/web_ui/test/engine/scene_view_test.dart +++ b/lib/web_ui/test/engine/scene_view_test.dart @@ -12,6 +12,7 @@ import 'package:ui/src/engine.dart'; import 'package:ui/ui.dart' as ui; import 'package:ui/ui_web/src/ui_web.dart'; +import '../common/test_initialization.dart'; import 'scene_builder_utils.dart'; void main() { @@ -40,8 +41,8 @@ void testMain() { late EngineSceneView sceneView; late StubPictureRenderer stubPictureRenderer; - setUpAll(() { - ensureImplicitViewInitialized(); + setUpAll(() async { + await bootstrapAndRunApp(withImplicitView: true); }); setUp(() { diff --git a/lib/web_ui/test/engine/semantics/semantics_auto_enable_test.dart b/lib/web_ui/test/engine/semantics/semantics_auto_enable_test.dart index c8e64167d79ca..e85118b44cb76 100644 --- a/lib/web_ui/test/engine/semantics/semantics_auto_enable_test.dart +++ b/lib/web_ui/test/engine/semantics/semantics_auto_enable_test.dart @@ -22,7 +22,7 @@ void main() { } Future testMain() async { - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: true); test('EngineSemanticsOwner auto-enables semantics on update', () async { expect(semantics().semanticsEnabled, isFalse); diff --git a/lib/web_ui/test/engine/semantics/semantics_multi_view_test.dart b/lib/web_ui/test/engine/semantics/semantics_multi_view_test.dart index 180dd7771831a..56f940f37ee27 100644 --- a/lib/web_ui/test/engine/semantics/semantics_multi_view_test.dart +++ b/lib/web_ui/test/engine/semantics/semantics_multi_view_test.dart @@ -20,14 +20,7 @@ void main() { } Future testMain() async { - // TODO(yjbanov): see https://github.com/flutter/flutter/issues/138906 - // This test tests multi-view mode only, but currently there's - // no way to cleanly boot into pure multi-view mode. As a - // workaroud we boot into a mode that includes the implicit - // view, but we then remove the implicit view. await bootstrapAndRunApp(); - final EngineFlutterWindow implicitView = EnginePlatformDispatcher.instance.implicitView!; - EnginePlatformDispatcher.instance.viewManager.disposeAndUnregisterView(implicitView.viewId); test('Can create multiple views each with its own semantics tree', () async { EngineSemantics.instance.semanticsEnabled = true; diff --git a/lib/web_ui/test/engine/semantics/semantics_placeholder_enable_test.dart b/lib/web_ui/test/engine/semantics/semantics_placeholder_enable_test.dart index c88ccb78db3cb..8cf7bdbbab453 100644 --- a/lib/web_ui/test/engine/semantics/semantics_placeholder_enable_test.dart +++ b/lib/web_ui/test/engine/semantics/semantics_placeholder_enable_test.dart @@ -21,7 +21,7 @@ void main() { } Future testMain() async { - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: true); test('EngineSemantics is enabled via a placeholder click', () async { expect(semantics().semanticsEnabled, isFalse); diff --git a/lib/web_ui/test/engine/semantics/semantics_test.dart b/lib/web_ui/test/engine/semantics/semantics_test.dart index 1093fdbd52794..696ac397fa469 100644 --- a/lib/web_ui/test/engine/semantics/semantics_test.dart +++ b/lib/web_ui/test/engine/semantics/semantics_test.dart @@ -31,7 +31,7 @@ void main() { } Future testMain() async { - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: true); runSemanticsTests(); } diff --git a/lib/web_ui/test/engine/surface/frame_timings_test.dart b/lib/web_ui/test/engine/surface/frame_timings_test.dart index 0dcf882527a85..14ec8f2e353da 100644 --- a/lib/web_ui/test/engine/surface/frame_timings_test.dart +++ b/lib/web_ui/test/engine/surface/frame_timings_test.dart @@ -14,7 +14,7 @@ void main() { void testMain() { setUp(() async { - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: true); }); test('collects frame timings', () async { diff --git a/lib/web_ui/test/engine/surface/platform_view_test.dart b/lib/web_ui/test/engine/surface/platform_view_test.dart index 9cb19a40e5016..cda967df0bdb7 100644 --- a/lib/web_ui/test/engine/surface/platform_view_test.dart +++ b/lib/web_ui/test/engine/surface/platform_view_test.dart @@ -24,7 +24,7 @@ void main() { } Future testMain() async { - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: true); late PersistedPlatformView view; diff --git a/lib/web_ui/test/engine/surface/scene_builder_test.dart b/lib/web_ui/test/engine/surface/scene_builder_test.dart index 2a653c019f5ea..1fada18e2f147 100644 --- a/lib/web_ui/test/engine/surface/scene_builder_test.dart +++ b/lib/web_ui/test/engine/surface/scene_builder_test.dart @@ -23,7 +23,7 @@ void main() { void testMain() { setUpAll(() async { - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: true); }); group('SceneBuilder', () { diff --git a/lib/web_ui/test/engine/text_editing_test.dart b/lib/web_ui/test/engine/text_editing_test.dart index 7379a7fee44aa..a473390719af0 100644 --- a/lib/web_ui/test/engine/text_editing_test.dart +++ b/lib/web_ui/test/engine/text_editing_test.dart @@ -63,6 +63,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false ); diff --git a/lib/web_ui/test/html/bitmap_canvas_golden_test.dart b/lib/web_ui/test/html/bitmap_canvas_golden_test.dart index b72fc5d9f02cc..e028c1907a1a3 100644 --- a/lib/web_ui/test/html/bitmap_canvas_golden_test.dart +++ b/lib/web_ui/test/html/bitmap_canvas_golden_test.dart @@ -40,6 +40,7 @@ Future testMain() async { } setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/clip_op_golden_test.dart b/lib/web_ui/test/html/clip_op_golden_test.dart index 9153643f944d3..cfbe996f3f1b4 100644 --- a/lib/web_ui/test/html/clip_op_golden_test.dart +++ b/lib/web_ui/test/html/clip_op_golden_test.dart @@ -17,6 +17,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/compositing/canvas_image_blend_mode_golden_test.dart b/lib/web_ui/test/html/compositing/canvas_image_blend_mode_golden_test.dart index 69a92c88a0689..64e165f697fa0 100644 --- a/lib/web_ui/test/html/compositing/canvas_image_blend_mode_golden_test.dart +++ b/lib/web_ui/test/html/compositing/canvas_image_blend_mode_golden_test.dart @@ -19,6 +19,7 @@ SurfacePaint makePaint() => Paint() as SurfacePaint; Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/compositing/color_filter_golden_test.dart b/lib/web_ui/test/html/compositing/color_filter_golden_test.dart index faf6260620e75..d184613195e95 100644 --- a/lib/web_ui/test/html/compositing/color_filter_golden_test.dart +++ b/lib/web_ui/test/html/compositing/color_filter_golden_test.dart @@ -21,6 +21,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/compositing/compositing_golden_test.dart b/lib/web_ui/test/html/compositing/compositing_golden_test.dart index dabafa4e15806..a47d3f44ece5c 100644 --- a/lib/web_ui/test/html/compositing/compositing_golden_test.dart +++ b/lib/web_ui/test/html/compositing/compositing_golden_test.dart @@ -21,6 +21,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/drawing/canvas_draw_image_golden_test.dart b/lib/web_ui/test/html/drawing/canvas_draw_image_golden_test.dart index 66e7d425b5885..5bcf1108f4eea 100644 --- a/lib/web_ui/test/html/drawing/canvas_draw_image_golden_test.dart +++ b/lib/web_ui/test/html/drawing/canvas_draw_image_golden_test.dart @@ -24,6 +24,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/paragraph/bidi_golden_test.dart b/lib/web_ui/test/html/paragraph/bidi_golden_test.dart index 07a7f91c49f1d..6eb61c7d188f9 100644 --- a/lib/web_ui/test/html/paragraph/bidi_golden_test.dart +++ b/lib/web_ui/test/html/paragraph/bidi_golden_test.dart @@ -19,6 +19,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/paragraph/general_golden_test.dart b/lib/web_ui/test/html/paragraph/general_golden_test.dart index 4c8b5e153a06b..ee3756841db53 100644 --- a/lib/web_ui/test/html/paragraph/general_golden_test.dart +++ b/lib/web_ui/test/html/paragraph/general_golden_test.dart @@ -21,6 +21,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/paragraph/justify_golden_test.dart b/lib/web_ui/test/html/paragraph/justify_golden_test.dart index 148274ea4f01e..4538fe0a70fac 100644 --- a/lib/web_ui/test/html/paragraph/justify_golden_test.dart +++ b/lib/web_ui/test/html/paragraph/justify_golden_test.dart @@ -18,6 +18,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/paragraph/overflow_golden_test.dart b/lib/web_ui/test/html/paragraph/overflow_golden_test.dart index ee787940ef557..bde5887d7d661 100644 --- a/lib/web_ui/test/html/paragraph/overflow_golden_test.dart +++ b/lib/web_ui/test/html/paragraph/overflow_golden_test.dart @@ -18,6 +18,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/paragraph/placeholders_golden_test.dart b/lib/web_ui/test/html/paragraph/placeholders_golden_test.dart index cf9cdc8372166..17f08ed508e29 100644 --- a/lib/web_ui/test/html/paragraph/placeholders_golden_test.dart +++ b/lib/web_ui/test/html/paragraph/placeholders_golden_test.dart @@ -20,6 +20,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/paragraph/shadows_golden_test.dart b/lib/web_ui/test/html/paragraph/shadows_golden_test.dart index f5119e1c62209..d9f37a0af2140 100644 --- a/lib/web_ui/test/html/paragraph/shadows_golden_test.dart +++ b/lib/web_ui/test/html/paragraph/shadows_golden_test.dart @@ -18,6 +18,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/paragraph/text_multiline_clipping_golden_test.dart b/lib/web_ui/test/html/paragraph/text_multiline_clipping_golden_test.dart index 375cc68eeb681..855d68cde0747 100644 --- a/lib/web_ui/test/html/paragraph/text_multiline_clipping_golden_test.dart +++ b/lib/web_ui/test/html/paragraph/text_multiline_clipping_golden_test.dart @@ -23,6 +23,7 @@ Future testMain() async { ); setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/paragraph/text_overflow_golden_test.dart b/lib/web_ui/test/html/paragraph/text_overflow_golden_test.dart index 26744ec87da9a..0887b857a2903 100644 --- a/lib/web_ui/test/html/paragraph/text_overflow_golden_test.dart +++ b/lib/web_ui/test/html/paragraph/text_overflow_golden_test.dart @@ -26,6 +26,7 @@ Future testMain() async { ); setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/paragraph/text_placeholders_golden_test.dart b/lib/web_ui/test/html/paragraph/text_placeholders_golden_test.dart index 916d28a2838d3..ee96414f47086 100644 --- a/lib/web_ui/test/html/paragraph/text_placeholders_golden_test.dart +++ b/lib/web_ui/test/html/paragraph/text_placeholders_golden_test.dart @@ -20,6 +20,7 @@ Future testMain() async { ); setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/recording_canvas_golden_test.dart b/lib/web_ui/test/html/recording_canvas_golden_test.dart index 071754c1fe3ac..f1377059d6ab0 100644 --- a/lib/web_ui/test/html/recording_canvas_golden_test.dart +++ b/lib/web_ui/test/html/recording_canvas_golden_test.dart @@ -20,6 +20,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/shaders/gradient_golden_test.dart b/lib/web_ui/test/html/shaders/gradient_golden_test.dart index e56de2d87be7e..0a67ed766bc2d 100644 --- a/lib/web_ui/test/html/shaders/gradient_golden_test.dart +++ b/lib/web_ui/test/html/shaders/gradient_golden_test.dart @@ -26,7 +26,7 @@ Future testMain() async { const Rect screenRect = Rect.fromLTWH(0, 0, screenWidth, screenHeight); const Rect region = Rect.fromLTWH(0, 0, 500, 240); - setUpUnitTests(); + setUpUnitTests(withImplicitView: true); test('Paints sweep gradient rectangles', () async { final RecordingCanvas canvas = diff --git a/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart b/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart index a406da8507248..06ea0f32d8fa6 100644 --- a/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart +++ b/lib/web_ui/test/html/shaders/shader_mask_golden_test.dart @@ -36,6 +36,7 @@ Future main() async { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/html/text/canvas_paragraph_builder_test.dart b/lib/web_ui/test/html/text/canvas_paragraph_builder_test.dart index 0392d3a92bd1c..f0fbf8e2d0bee 100644 --- a/lib/web_ui/test/html/text/canvas_paragraph_builder_test.dart +++ b/lib/web_ui/test/html/text/canvas_paragraph_builder_test.dart @@ -33,7 +33,7 @@ void main() { } Future testMain() async { - setUpUnitTests(); + setUpUnitTests(withImplicitView: true); test('empty paragraph', () { final CanvasParagraph paragraph1 = rich( diff --git a/lib/web_ui/test/html/text/canvas_paragraph_test.dart b/lib/web_ui/test/html/text/canvas_paragraph_test.dart index 4a38f4f5cee1b..f3023565017a8 100644 --- a/lib/web_ui/test/html/text/canvas_paragraph_test.dart +++ b/lib/web_ui/test/html/text/canvas_paragraph_test.dart @@ -15,7 +15,7 @@ void main() { } Future testMain() async { - setUpUnitTests(); + setUpUnitTests(withImplicitView: true); group('$CanvasParagraph.getBoxesForRange', () { test('return empty list for invalid ranges', () { diff --git a/lib/web_ui/test/html/text/font_loading_test.dart b/lib/web_ui/test/html/text/font_loading_test.dart index 2e44bf735fbaf..eb344b39eed6a 100644 --- a/lib/web_ui/test/html/text/font_loading_test.dart +++ b/lib/web_ui/test/html/text/font_loading_test.dart @@ -18,7 +18,7 @@ void main() { } Future testMain() async { - setUpUnitTests(); + setUpUnitTests(withImplicitView: true); group('loadFontFromList', () { const String testFontUrl = '/assets/fonts/ahem.ttf'; diff --git a/lib/web_ui/test/html/text/layout_service_plain_test.dart b/lib/web_ui/test/html/text/layout_service_plain_test.dart index affdae3bd8f91..870f2163bab24 100644 --- a/lib/web_ui/test/html/text/layout_service_plain_test.dart +++ b/lib/web_ui/test/html/text/layout_service_plain_test.dart @@ -19,7 +19,7 @@ void main() { } Future testMain() async { - setUpUnitTests(); + setUpUnitTests(withImplicitView: true); test('no text', () { final CanvasParagraph paragraph = CanvasParagraphBuilder(ahemStyle).build(); diff --git a/lib/web_ui/test/html/text/layout_service_rich_test.dart b/lib/web_ui/test/html/text/layout_service_rich_test.dart index 2d6173caa0ad1..01f358f22632d 100644 --- a/lib/web_ui/test/html/text/layout_service_rich_test.dart +++ b/lib/web_ui/test/html/text/layout_service_rich_test.dart @@ -17,7 +17,7 @@ void main() { } Future testMain() async { - setUpUnitTests(); + setUpUnitTests(withImplicitView: true); test('does not crash on empty spans', () { final CanvasParagraph paragraph = rich(ahemStyle, (CanvasParagraphBuilder builder) { diff --git a/lib/web_ui/test/html/text_test.dart b/lib/web_ui/test/html/text_test.dart index 7d4303188bed0..f377b8c10a749 100644 --- a/lib/web_ui/test/html/text_test.dart +++ b/lib/web_ui/test/html/text_test.dart @@ -22,7 +22,7 @@ void main() { Future testMain() async { const double baselineRatio = 1.1662499904632568; - setUpUnitTests(); + setUpUnitTests(withImplicitView: true); late String fallback; setUp(() { diff --git a/lib/web_ui/test/ui/canvas_curves_golden_test.dart b/lib/web_ui/test/ui/canvas_curves_golden_test.dart index f96de710c13ba..cdbd05935a0de 100644 --- a/lib/web_ui/test/ui/canvas_curves_golden_test.dart +++ b/lib/web_ui/test/ui/canvas_curves_golden_test.dart @@ -18,6 +18,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/canvas_draw_points_golden_test.dart b/lib/web_ui/test/ui/canvas_draw_points_golden_test.dart index 879536d633f71..ca2540245cb82 100644 --- a/lib/web_ui/test/ui/canvas_draw_points_golden_test.dart +++ b/lib/web_ui/test/ui/canvas_draw_points_golden_test.dart @@ -20,6 +20,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/canvas_lines_golden_test.dart b/lib/web_ui/test/ui/canvas_lines_golden_test.dart index 58c7abe6d7689..46c39e8cd9664 100644 --- a/lib/web_ui/test/ui/canvas_lines_golden_test.dart +++ b/lib/web_ui/test/ui/canvas_lines_golden_test.dart @@ -16,6 +16,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/draw_atlas_golden_test.dart b/lib/web_ui/test/ui/draw_atlas_golden_test.dart index 05870eafe2873..77b54f6204a80 100644 --- a/lib/web_ui/test/ui/draw_atlas_golden_test.dart +++ b/lib/web_ui/test/ui/draw_atlas_golden_test.dart @@ -112,6 +112,7 @@ ui.Image generateAtlas() { Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/fallback_fonts_golden_test.dart b/lib/web_ui/test/ui/fallback_fonts_golden_test.dart index bbd95d3d1f62d..4570bf2404817 100644 --- a/lib/web_ui/test/ui/fallback_fonts_golden_test.dart +++ b/lib/web_ui/test/ui/fallback_fonts_golden_test.dart @@ -23,6 +23,7 @@ const ui.Rect kDefaultRegion = ui.Rect.fromLTRB(0, 0, 100, 100); void testMain() { group('Font fallbacks', () { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/filters_test.dart b/lib/web_ui/test/ui/filters_test.dart index b486447c6186c..530551727c33b 100644 --- a/lib/web_ui/test/ui/filters_test.dart +++ b/lib/web_ui/test/ui/filters_test.dart @@ -20,6 +20,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/fragment_shader_test.dart b/lib/web_ui/test/ui/fragment_shader_test.dart index e7c7f0bda34a5..9602f3aa927d3 100644 --- a/lib/web_ui/test/ui/fragment_shader_test.dart +++ b/lib/web_ui/test/ui/fragment_shader_test.dart @@ -43,6 +43,7 @@ const String kVoronoiShaderSksl = r''' Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/gradient_golden_test.dart b/lib/web_ui/test/ui/gradient_golden_test.dart index f678f4d4dbb82..2587e99c067f0 100644 --- a/lib/web_ui/test/ui/gradient_golden_test.dart +++ b/lib/web_ui/test/ui/gradient_golden_test.dart @@ -19,6 +19,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/image_golden_test.dart b/lib/web_ui/test/ui/image_golden_test.dart index 8dff0b43f6db9..269fd8e8215fb 100644 --- a/lib/web_ui/test/ui/image_golden_test.dart +++ b/lib/web_ui/test/ui/image_golden_test.dart @@ -62,6 +62,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/paragraph_builder_test.dart b/lib/web_ui/test/ui/paragraph_builder_test.dart index 4139ebe593fa2..72f733ec69516 100644 --- a/lib/web_ui/test/ui/paragraph_builder_test.dart +++ b/lib/web_ui/test/ui/paragraph_builder_test.dart @@ -14,6 +14,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/platform_view_test.dart b/lib/web_ui/test/ui/platform_view_test.dart index 7d0b01c2fbb82..3615d496c02da 100644 --- a/lib/web_ui/test/ui/platform_view_test.dart +++ b/lib/web_ui/test/ui/platform_view_test.dart @@ -20,6 +20,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/scene_builder_test.dart b/lib/web_ui/test/ui/scene_builder_test.dart index 6ecc2f33f896e..c5831509bfbb2 100644 --- a/lib/web_ui/test/ui/scene_builder_test.dart +++ b/lib/web_ui/test/ui/scene_builder_test.dart @@ -19,6 +19,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/shadow_test.dart b/lib/web_ui/test/ui/shadow_test.dart index eb6b364a76947..cff3021780271 100644 --- a/lib/web_ui/test/ui/shadow_test.dart +++ b/lib/web_ui/test/ui/shadow_test.dart @@ -18,6 +18,7 @@ Future testMain() async { const ui.Rect region = ui.Rect.fromLTWH(0, 0, 300, 300); setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/text_golden_test.dart b/lib/web_ui/test/ui/text_golden_test.dart index f77a583df5d79..60b956647875f 100644 --- a/lib/web_ui/test/ui/text_golden_test.dart +++ b/lib/web_ui/test/ui/text_golden_test.dart @@ -19,6 +19,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); diff --git a/lib/web_ui/test/ui/vertices_test.dart b/lib/web_ui/test/ui/vertices_test.dart index e7373bb0aa865..defceaf6707e5 100644 --- a/lib/web_ui/test/ui/vertices_test.dart +++ b/lib/web_ui/test/ui/vertices_test.dart @@ -18,7 +18,7 @@ void main() { void testMain() { group('Vertices', () { - setUpUnitTests(setUpTestViewDimensions: false); + setUpUnitTests(withImplicitView: true, setUpTestViewDimensions: false); test('can be constructed, drawn, and disposed of', () { final ui.Vertices vertices = _testVertices(); From c8d65c94621f48544ebcf05901d64cbbfc52af01 Mon Sep 17 00:00:00 2001 From: Mouad Debbar Date: Mon, 11 Dec 2023 14:07:43 -0500 Subject: [PATCH 2/3] fix some tests --- lib/web_ui/test/engine/surface/surface_test.dart | 2 +- .../test/html/compositing/backdrop_filter_golden_test.dart | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/web_ui/test/engine/surface/surface_test.dart b/lib/web_ui/test/engine/surface/surface_test.dart index adaa2127dfa12..cf21f80a2ef04 100644 --- a/lib/web_ui/test/engine/surface/surface_test.dart +++ b/lib/web_ui/test/engine/surface/surface_test.dart @@ -16,7 +16,7 @@ void main() { void testMain() { group('Surface', () { setUpAll(() async { - await bootstrapAndRunApp(); + await bootstrapAndRunApp(withImplicitView: true); }); setUp(() { diff --git a/lib/web_ui/test/html/compositing/backdrop_filter_golden_test.dart b/lib/web_ui/test/html/compositing/backdrop_filter_golden_test.dart index dd7d329f2ac83..8535dff556447 100644 --- a/lib/web_ui/test/html/compositing/backdrop_filter_golden_test.dart +++ b/lib/web_ui/test/html/compositing/backdrop_filter_golden_test.dart @@ -17,6 +17,7 @@ void main() { Future testMain() async { setUpUnitTests( + withImplicitView: true, emulateTesterEnvironment: false, setUpTestViewDimensions: false, ); From 48c41c3d8730549504e765cbd83c023165a99db1 Mon Sep 17 00:00:00 2001 From: Mouad Debbar Date: Wed, 3 Jan 2024 15:57:56 -0500 Subject: [PATCH 3/3] fix errors --- lib/web_ui/test/engine/navigation_test.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/web_ui/test/engine/navigation_test.dart b/lib/web_ui/test/engine/navigation_test.dart index 69241d3de5017..e3386e6c21c8e 100644 --- a/lib/web_ui/test/engine/navigation_test.dart +++ b/lib/web_ui/test/engine/navigation_test.dart @@ -3,6 +3,7 @@ // found in the LICENSE file. import 'dart:async'; +import 'dart:typed_data'; import 'package:test/bootstrap/browser.dart'; import 'package:test/test.dart';