diff --git a/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj b/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj index 71d8cb57f989db1923bb853787f4c67bc169f48f..e7c0d323cf15a26d721212a83b2512fb8d7729c4 100644 --- a/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj +++ b/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 0A02E8F724EFAD27002D54E5 /* BogusFontTextTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A02E8F624EFAD27002D54E5 /* BogusFontTextTest.m */; }; + 0A19E18D2540B6AF00D34505 /* golden_bogus_font_text_iPhone 8_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 0A19E18C2540B6AE00D34505 /* golden_bogus_font_text_iPhone 8_simulator.png */; }; 0A42BFB42447E179007E212E /* TextSemanticsFocusTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A42BFB32447E179007E212E /* TextSemanticsFocusTest.m */; }; 0A57B3BD2323C4BD00DD9521 /* ScreenBeforeFlutter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A57B3BC2323C4BD00DD9521 /* ScreenBeforeFlutter.m */; }; 0A57B3BF2323C74200DD9521 /* FlutterEngine+ScenariosTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A57B3BE2323C74200DD9521 /* FlutterEngine+ScenariosTest.m */; }; @@ -33,7 +35,6 @@ 248D76EF22E388380012F0C1 /* PlatformViewUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 248D76EE22E388380012F0C1 /* PlatformViewUITests.m */; }; 248FDFC422FE7CD0009CC7CD /* FlutterEngineTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 248FDFC322FE7CD0009CC7CD /* FlutterEngineTest.m */; }; 24D47D1B230C79840069DD5E /* golden_platform_view_D211AP.png in Resources */ = {isa = PBXBuildFile; fileRef = 24D47D1A230C79840069DD5E /* golden_platform_view_D211AP.png */; }; - 24D47D1D230CA2700069DD5E /* golden_platform_view_iPhone SE_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 24D47D1C230CA2700069DD5E /* golden_platform_view_iPhone SE_simulator.png */; }; 24F1FB89230B4579005ACE7C /* TextPlatformView.m in Sources */ = {isa = PBXBuildFile; fileRef = 24F1FB87230B4579005ACE7C /* TextPlatformView.m */; }; 3DEF491223C3BE6500184216 /* golden_platform_view_clippath_iPhone 8_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 3DE09E8B23C010BC006C9851 /* golden_platform_view_clippath_iPhone 8_simulator.png */; }; 3DEF491323C3BE6500184216 /* golden_platform_view_cliprect_iPhone 8_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 3DE09E9223C010BD006C9851 /* golden_platform_view_cliprect_iPhone 8_simulator.png */; }; @@ -45,17 +46,11 @@ 3DEF491923C3BE6500184216 /* golden_platform_view_rotate_iPhone 8_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 3DE09E8E23C010BD006C9851 /* golden_platform_view_rotate_iPhone 8_simulator.png */; }; 3DEF491A23C3BE6500184216 /* golden_platform_view_transform_iPhone 8_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 3DE09E9123C010BD006C9851 /* golden_platform_view_transform_iPhone 8_simulator.png */; }; 4F06F1B32473296E000AF246 /* LocalizationInitializationTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F06F1B124731F66000AF246 /* LocalizationInitializationTest.m */; }; - 59A97FD8236A49D300B4C066 /* golden_platform_view_multiple_iPhone SE_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 59A97FD7236A49D300B4C066 /* golden_platform_view_multiple_iPhone SE_simulator.png */; }; 59A97FDA236B984300B4C066 /* golden_platform_view_multiple_background_foreground_iPhone SE_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 59A97FD9236B984300B4C066 /* golden_platform_view_multiple_background_foreground_iPhone SE_simulator.png */; }; 6402EBD124147BDA00987DCB /* UnobstructedPlatformViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6402EBD024147BDA00987DCB /* UnobstructedPlatformViewTests.m */; }; 6816DB9E231750ED00A51400 /* GoldenPlatformViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6816DB9D231750ED00A51400 /* GoldenPlatformViewTests.m */; }; 6816DBA12317573300A51400 /* GoldenImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6816DBA02317573300A51400 /* GoldenImage.m */; }; - 6816DBA42318358200A51400 /* PlatformViewGoldenTestManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6816DBA32318358200A51400 /* PlatformViewGoldenTestManager.m */; }; - 6816DBAA2318696600A51400 /* golden_platform_view_clippath_iPhone SE_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 6816DBA52318696600A51400 /* golden_platform_view_clippath_iPhone SE_simulator.png */; }; - 6816DBAB2318696600A51400 /* golden_platform_view_transform_iPhone SE_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 6816DBA62318696600A51400 /* golden_platform_view_transform_iPhone SE_simulator.png */; }; - 6816DBAC2318696600A51400 /* golden_platform_view_opacity_iPhone SE_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 6816DBA72318696600A51400 /* golden_platform_view_opacity_iPhone SE_simulator.png */; }; - 6816DBAD2318696600A51400 /* golden_platform_view_cliprect_iPhone SE_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 6816DBA82318696600A51400 /* golden_platform_view_cliprect_iPhone SE_simulator.png */; }; - 6816DBAE2318696600A51400 /* golden_platform_view_cliprrect_iPhone SE_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 6816DBA92318696600A51400 /* golden_platform_view_cliprrect_iPhone SE_simulator.png */; }; + 6816DBA42318358200A51400 /* GoldenTestManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6816DBA32318358200A51400 /* GoldenTestManager.m */; }; 68A5B63423EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 68A5B63323EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m */; }; /* End PBXBuildFile section */ @@ -114,6 +109,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A02E8F624EFAD27002D54E5 /* BogusFontTextTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BogusFontTextTest.m; sourceTree = ""; }; + 0A19E18C2540B6AE00D34505 /* golden_bogus_font_text_iPhone 8_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_bogus_font_text_iPhone 8_simulator.png"; sourceTree = ""; }; 0A42BFB32447E179007E212E /* TextSemanticsFocusTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TextSemanticsFocusTest.m; sourceTree = ""; }; 0A42BFB52447E19F007E212E /* TextSemanticsFocusTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TextSemanticsFocusTest.h; sourceTree = ""; }; 0A57B3BB2323C4BD00DD9521 /* ScreenBeforeFlutter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScreenBeforeFlutter.h; sourceTree = ""; }; @@ -143,7 +140,6 @@ 248D76F022E388380012F0C1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 248FDFC322FE7CD0009CC7CD /* FlutterEngineTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FlutterEngineTest.m; sourceTree = ""; }; 24D47D1A230C79840069DD5E /* golden_platform_view_D211AP.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = golden_platform_view_D211AP.png; sourceTree = ""; }; - 24D47D1C230CA2700069DD5E /* golden_platform_view_iPhone SE_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_iPhone SE_simulator.png"; sourceTree = ""; }; 24D47D1E230CA4480069DD5E /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 24F1FB87230B4579005ACE7C /* TextPlatformView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TextPlatformView.m; sourceTree = ""; }; 24F1FB88230B4579005ACE7C /* TextPlatformView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextPlatformView.h; sourceTree = ""; }; @@ -157,20 +153,14 @@ 3DE09E9123C010BD006C9851 /* golden_platform_view_transform_iPhone 8_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_transform_iPhone 8_simulator.png"; sourceTree = ""; }; 3DE09E9223C010BD006C9851 /* golden_platform_view_cliprect_iPhone 8_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_cliprect_iPhone 8_simulator.png"; sourceTree = ""; }; 4F06F1B124731F66000AF246 /* LocalizationInitializationTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LocalizationInitializationTest.m; sourceTree = ""; }; - 59A97FD7236A49D300B4C066 /* golden_platform_view_multiple_iPhone SE_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_multiple_iPhone SE_simulator.png"; sourceTree = ""; }; 59A97FD9236B984300B4C066 /* golden_platform_view_multiple_background_foreground_iPhone SE_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_multiple_background_foreground_iPhone SE_simulator.png"; sourceTree = ""; }; 6402EBD024147BDA00987DCB /* UnobstructedPlatformViewTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UnobstructedPlatformViewTests.m; sourceTree = ""; }; 6816DB9C231750ED00A51400 /* GoldenPlatformViewTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GoldenPlatformViewTests.h; sourceTree = ""; }; 6816DB9D231750ED00A51400 /* GoldenPlatformViewTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GoldenPlatformViewTests.m; sourceTree = ""; }; 6816DB9F2317573300A51400 /* GoldenImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GoldenImage.h; sourceTree = ""; }; 6816DBA02317573300A51400 /* GoldenImage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GoldenImage.m; sourceTree = ""; }; - 6816DBA22318358200A51400 /* PlatformViewGoldenTestManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PlatformViewGoldenTestManager.h; sourceTree = ""; }; - 6816DBA32318358200A51400 /* PlatformViewGoldenTestManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PlatformViewGoldenTestManager.m; sourceTree = ""; }; - 6816DBA52318696600A51400 /* golden_platform_view_clippath_iPhone SE_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_clippath_iPhone SE_simulator.png"; sourceTree = ""; }; - 6816DBA62318696600A51400 /* golden_platform_view_transform_iPhone SE_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_transform_iPhone SE_simulator.png"; sourceTree = ""; }; - 6816DBA72318696600A51400 /* golden_platform_view_opacity_iPhone SE_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_opacity_iPhone SE_simulator.png"; sourceTree = ""; }; - 6816DBA82318696600A51400 /* golden_platform_view_cliprect_iPhone SE_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_cliprect_iPhone SE_simulator.png"; sourceTree = ""; }; - 6816DBA92318696600A51400 /* golden_platform_view_cliprrect_iPhone SE_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_cliprrect_iPhone SE_simulator.png"; sourceTree = ""; }; + 6816DBA22318358200A51400 /* GoldenTestManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GoldenTestManager.h; sourceTree = ""; }; + 6816DBA32318358200A51400 /* GoldenTestManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GoldenTestManager.m; sourceTree = ""; }; 68A5B63323EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PlatformViewGestureRecognizerTests.m; sourceTree = ""; }; /* End PBXFileReference section */ @@ -259,6 +249,7 @@ children = ( 4F06F1B124731F66000AF246 /* LocalizationInitializationTest.m */, 6402EBD024147BDA00987DCB /* UnobstructedPlatformViewTests.m */, + 0A19E18C2540B6AE00D34505 /* golden_bogus_font_text_iPhone 8_simulator.png */, 0D14A3FD239743190013D873 /* golden_platform_view_rotate_iPhone SE_simulator.png */, 3DE09E8B23C010BC006C9851 /* golden_platform_view_clippath_iPhone 8_simulator.png */, 3DE09E9223C010BD006C9851 /* golden_platform_view_cliprect_iPhone 8_simulator.png */, @@ -270,24 +261,18 @@ 3DE09E8E23C010BD006C9851 /* golden_platform_view_rotate_iPhone 8_simulator.png */, 3DE09E9123C010BD006C9851 /* golden_platform_view_transform_iPhone 8_simulator.png */, 59A97FD9236B984300B4C066 /* golden_platform_view_multiple_background_foreground_iPhone SE_simulator.png */, - 59A97FD7236A49D300B4C066 /* golden_platform_view_multiple_iPhone SE_simulator.png */, 244EA6CF230DBE8900B2D26E /* golden_platform_view_D21AP.png */, - 24D47D1C230CA2700069DD5E /* golden_platform_view_iPhone SE_simulator.png */, 24D47D1A230C79840069DD5E /* golden_platform_view_D211AP.png */, - 6816DBA52318696600A51400 /* golden_platform_view_clippath_iPhone SE_simulator.png */, - 6816DBA82318696600A51400 /* golden_platform_view_cliprect_iPhone SE_simulator.png */, - 6816DBA92318696600A51400 /* golden_platform_view_cliprrect_iPhone SE_simulator.png */, - 6816DBA72318696600A51400 /* golden_platform_view_opacity_iPhone SE_simulator.png */, - 6816DBA62318696600A51400 /* golden_platform_view_transform_iPhone SE_simulator.png */, 248D76EE22E388380012F0C1 /* PlatformViewUITests.m */, + 0A02E8F624EFAD27002D54E5 /* BogusFontTextTest.m */, 248D76F022E388380012F0C1 /* Info.plist */, 24D47D1E230CA4480069DD5E /* README.md */, 6816DB9C231750ED00A51400 /* GoldenPlatformViewTests.h */, 6816DB9D231750ED00A51400 /* GoldenPlatformViewTests.m */, 6816DB9F2317573300A51400 /* GoldenImage.h */, 6816DBA02317573300A51400 /* GoldenImage.m */, - 6816DBA22318358200A51400 /* PlatformViewGoldenTestManager.h */, - 6816DBA32318358200A51400 /* PlatformViewGoldenTestManager.m */, + 6816DBA22318358200A51400 /* GoldenTestManager.h */, + 6816DBA32318358200A51400 /* GoldenTestManager.m */, 68A5B63323EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m */, 0D8470A2240F0B1F0030B565 /* StatusBarTest.h */, 0D8470A3240F0B1F0030B565 /* StatusBarTest.m */, @@ -431,25 +416,19 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6816DBAE2318696600A51400 /* golden_platform_view_cliprrect_iPhone SE_simulator.png in Resources */, 3DEF491623C3BE6500184216 /* golden_platform_view_multiple_background_foreground_iPhone 8_simulator.png in Resources */, 3DEF491323C3BE6500184216 /* golden_platform_view_cliprect_iPhone 8_simulator.png in Resources */, 3DEF491523C3BE6500184216 /* golden_platform_view_iPhone 8_simulator.png in Resources */, 0D14A3FE239743190013D873 /* golden_platform_view_rotate_iPhone SE_simulator.png in Resources */, - 6816DBAB2318696600A51400 /* golden_platform_view_transform_iPhone SE_simulator.png in Resources */, 3DEF491823C3BE6500184216 /* golden_platform_view_opacity_iPhone 8_simulator.png in Resources */, + 0A19E18D2540B6AF00D34505 /* golden_bogus_font_text_iPhone 8_simulator.png in Resources */, 3DEF491723C3BE6500184216 /* golden_platform_view_multiple_iPhone 8_simulator.png in Resources */, 3DEF491223C3BE6500184216 /* golden_platform_view_clippath_iPhone 8_simulator.png in Resources */, 3DEF491423C3BE6500184216 /* golden_platform_view_cliprrect_iPhone 8_simulator.png in Resources */, 59A97FDA236B984300B4C066 /* golden_platform_view_multiple_background_foreground_iPhone SE_simulator.png in Resources */, - 6816DBAA2318696600A51400 /* golden_platform_view_clippath_iPhone SE_simulator.png in Resources */, - 6816DBAD2318696600A51400 /* golden_platform_view_cliprect_iPhone SE_simulator.png in Resources */, 3DEF491923C3BE6500184216 /* golden_platform_view_rotate_iPhone 8_simulator.png in Resources */, 24D47D1B230C79840069DD5E /* golden_platform_view_D211AP.png in Resources */, - 59A97FD8236A49D300B4C066 /* golden_platform_view_multiple_iPhone SE_simulator.png in Resources */, - 24D47D1D230CA2700069DD5E /* golden_platform_view_iPhone SE_simulator.png in Resources */, 244EA6D0230DBE8900B2D26E /* golden_platform_view_D21AP.png in Resources */, - 6816DBAC2318696600A51400 /* golden_platform_view_opacity_iPhone SE_simulator.png in Resources */, 3DEF491A23C3BE6500184216 /* golden_platform_view_transform_iPhone 8_simulator.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -487,8 +466,9 @@ 6402EBD124147BDA00987DCB /* UnobstructedPlatformViewTests.m in Sources */, 68A5B63423EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m in Sources */, 6816DBA12317573300A51400 /* GoldenImage.m in Sources */, + 0A02E8F724EFAD27002D54E5 /* BogusFontTextTest.m in Sources */, 6816DB9E231750ED00A51400 /* GoldenPlatformViewTests.m in Sources */, - 6816DBA42318358200A51400 /* PlatformViewGoldenTestManager.m in Sources */, + 6816DBA42318358200A51400 /* GoldenTestManager.m in Sources */, 248D76EF22E388380012F0C1 /* PlatformViewUITests.m in Sources */, 0D8470A4240F0B1F0030B565 /* StatusBarTest.m in Sources */, 246A6611252E693A00EAB0F3 /* RenderingSelectionTest.m in Sources */, diff --git a/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/xcshareddata/xcschemes/Scenarios.xcscheme b/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/xcshareddata/xcschemes/Scenarios.xcscheme index 45f9a68a0179b09dff2fd5aefd65b33ee301c9fc..f1894291285d1b48554703d74ffb328d195c9c49 100644 --- a/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/xcshareddata/xcschemes/Scenarios.xcscheme +++ b/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/xcshareddata/xcschemes/Scenarios.xcscheme @@ -28,15 +28,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" systemAttachmentLifetime = "keepNever"> - - - - + + diff --git a/testing/scenario_app/ios/Scenarios/Scenarios/AppDelegate.m b/testing/scenario_app/ios/Scenarios/Scenarios/AppDelegate.m index 96ddd0c734f6d1c6c4e263cbd55ce2260a7ea7b5..5d1ff4be7d429ed0a3972fb105a442de818dd624 100644 --- a/testing/scenario_app/ios/Scenarios/Scenarios/AppDelegate.m +++ b/testing/scenario_app/ios/Scenarios/Scenarios/AppDelegate.m @@ -27,7 +27,7 @@ self.window.tintColor = UIColor.systemPinkColor; } NSDictionary* launchArgsMap = @{ - // The Platform view golden test args should match `PlatformViewGoldenTestManager`. + // The golden test args should match `GoldenTestManager`. @"--locale-initialization" : @"locale_initialization", @"--platform-view" : @"platform_view", @"--platform-view-no-overlay-intersection" : @"platform_view_no_overlay_intersection", @@ -52,6 +52,7 @@ @"--tap-status-bar" : @"tap_status_bar", @"--text-semantics-focus" : @"text_semantics_focus", @"--animated-color-square" : @"animated_color_square", + @"--bogus-font-text" : @"bogus_font_text" }; __block NSString* flutterViewControllerTestName = nil; [launchArgsMap diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/BogusFontTextTest.m b/testing/scenario_app/ios/Scenarios/ScenariosUITests/BogusFontTextTest.m new file mode 100644 index 0000000000000000000000000000000000000000..4166145d5b3065f4dc56be2a3385fe032b434483 --- /dev/null +++ b/testing/scenario_app/ios/Scenarios/ScenariosUITests/BogusFontTextTest.m @@ -0,0 +1,28 @@ +// Copyright 2013 The Flutter 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 +#import +#import "GoldenTestManager.h" + +FLUTTER_ASSERT_ARC + +@interface BogusFontTextTest : XCTestCase + +@end + +@implementation BogusFontTextTest + +- (void)testFontRenderingWhenSuppliedWithBogusFont { + self.continueAfterFailure = NO; + + XCUIApplication* application = [[XCUIApplication alloc] init]; + application.launchArguments = @[ @"--bogus-font-text" ]; + [application launch]; + + GoldenTestManager* manager = [[GoldenTestManager alloc] initWithLaunchArg:@"--bogus-font-text"]; + [manager checkGoldenForTest:self]; +} + +@end diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenPlatformViewTests.h b/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenPlatformViewTests.h index 3e4d0add04137c6cb308c85a10dae32da26f1bf6..fd1b05ef0b009505589e4ccd1dc205a033a79886 100644 --- a/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenPlatformViewTests.h +++ b/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenPlatformViewTests.h @@ -3,7 +3,7 @@ // found in the LICENSE file. #import -#import "PlatformViewGoldenTestManager.h" +#import "GoldenTestManager.h" NS_ASSUME_NONNULL_BEGIN @@ -12,20 +12,19 @@ NS_ASSUME_NONNULL_BEGIN // A new PlatformView golden tests can subclass this and override the `-initiWithInvocation:` // method, which then retun the `-initWithManager:invocation:` // -// Then in any test method, call `checkGolden` to perform the golden test. +// Then in any test method, call `checkPlatformViewGolden` to perform the golden test. // // This base class doesn't run any test case on its own. @interface GoldenPlatformViewTests : XCTestCase @property(nonatomic, strong) XCUIApplication* application; -// Initialize with a `PlatformViewGoldenTestManager`. -- (instancetype)initWithManager:(PlatformViewGoldenTestManager*)manager - invocation:(NSInvocation*)invocation; +// Initialize with a `GoldenTestManager`. +- (instancetype)initWithManager:(GoldenTestManager*)manager invocation:(NSInvocation*)invocation; // Take a sceenshot of the test app and check it has the same pixels with goldenImage inside the -// `PlatformViewGoldenTestManager`. -- (void)checkGolden; +// `GoldenTestManager`. +- (void)checkPlatformViewGolden; @end diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenPlatformViewTests.m b/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenPlatformViewTests.m index 29f1a472aa094b055cf4065d40664d4641ae1ab0..7e4bb368fc6ebeb29b39109dd1256c98f9fab8cd 100644 --- a/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenPlatformViewTests.m +++ b/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenPlatformViewTests.m @@ -5,8 +5,7 @@ #import "GoldenPlatformViewTests.h" #include - -#import "PlatformViewGoldenTestManager.h" +#import "GoldenTestManager.h" static const NSInteger kSecondsToWaitForPlatformView = 30; @@ -14,14 +13,13 @@ static const NSInteger kSecondsToWaitForPlatformView = 30; @property(nonatomic, copy) NSString* goldenName; -@property(nonatomic, strong) PlatformViewGoldenTestManager* manager; +@property(nonatomic, strong) GoldenTestManager* manager; @end @implementation GoldenPlatformViewTests -- (instancetype)initWithManager:(PlatformViewGoldenTestManager*)manager - invocation:(NSInvocation*)invocation { +- (instancetype)initWithManager:(GoldenTestManager*)manager invocation:(NSInvocation*)invocation { self = [super initWithInvocation:invocation]; _manager = manager; return self; @@ -37,7 +35,7 @@ static const NSInteger kSecondsToWaitForPlatformView = 30; } // Note: don't prefix with "test" or GoldenPlatformViewTests will run instead of the subclasses. -- (void)checkGolden { +- (void)checkPlatformViewGolden { XCUIElement* element = self.application.textViews.firstMatch; BOOL exists = [element waitForExistenceWithTimeout:kSecondsToWaitForPlatformView]; if (!exists) { @@ -47,29 +45,6 @@ static const NSInteger kSecondsToWaitForPlatformView = 30; @(kSecondsToWaitForPlatformView)); } - GoldenImage* golden = self.manager.goldenImage; - - XCUIScreenshot* screenshot = [[XCUIScreen mainScreen] screenshot]; - if (!golden.image) { - XCTAttachment* attachment = [XCTAttachment attachmentWithScreenshot:screenshot]; - attachment.name = @"new_golden"; - attachment.lifetime = XCTAttachmentLifetimeKeepAlways; - [self addAttachment:attachment]; - XCTFail(@"This test will fail - no golden named %@ found. Follow the steps in the " - @"README to add a new golden.", - golden.goldenName); - } - - if (![golden compareGoldenToImage:screenshot.image]) { - XCTAttachment* screenshotAttachment; - screenshotAttachment = [XCTAttachment attachmentWithImage:screenshot.image]; - screenshotAttachment.name = golden.goldenName; - screenshotAttachment.lifetime = XCTAttachmentLifetimeKeepAlways; - [self addAttachment:screenshotAttachment]; - - XCTFail(@"Goldens to not match. Follow the steps in the " - @"README to update golden named %@ if needed.", - golden.goldenName); - } + [self.manager checkGoldenForTest:self]; } @end diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewGoldenTestManager.h b/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.h similarity index 78% rename from testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewGoldenTestManager.h rename to testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.h index 733ea8839f11b68dcabedac39723595b67984adb..4bb0b275a77e97fd8007ce2c3b3344b03f044694 100644 --- a/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewGoldenTestManager.h +++ b/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.h @@ -3,7 +3,7 @@ // found in the LICENSE file. #import - +#import #import "GoldenImage.h" NS_ASSUME_NONNULL_BEGIN @@ -14,7 +14,7 @@ extern NSDictionary* launchArgsMap; // // It creates the correct `identifer` based on the `launchArg`. // It also generates the correct GoldenImage based on the `identifier`. -@interface PlatformViewGoldenTestManager : NSObject +@interface GoldenTestManager : NSObject @property(readonly, strong, nonatomic) GoldenImage* goldenImage; @property(readonly, copy, nonatomic) NSString* identifier; @@ -25,6 +25,10 @@ extern NSDictionary* launchArgsMap; // Crahes if the launchArg is not mapped in `Appdelegate.launchArgsMap`. - (instancetype)initWithLaunchArg:(NSString*)launchArg; +// Take a sceenshot of the test app and check it has the same pixels with +// goldenImage inside the `GoldenTestManager`. +- (void)checkGoldenForTest:(XCTestCase*)test; + @end NS_ASSUME_NONNULL_END diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewGoldenTestManager.m b/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.m similarity index 50% rename from testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewGoldenTestManager.m rename to testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.m index 230fe5c89e238e85496f64b993ebcbbbc4fed00e..dcb82342f710b0d7d7ff5fb61c854d9e3c84f753 100644 --- a/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewGoldenTestManager.m +++ b/testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.m @@ -2,17 +2,16 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "PlatformViewGoldenTestManager.h" - +#import "GoldenTestManager.h" #import -@interface PlatformViewGoldenTestManager () +@interface GoldenTestManager () @property(readwrite, strong, nonatomic) GoldenImage* goldenImage; @end -@implementation PlatformViewGoldenTestManager +@implementation GoldenTestManager NSDictionary* launchArgsMap; @@ -34,6 +33,7 @@ NSDictionary* launchArgsMap; @"--platform-view-transform" : @"platform_view_transform", @"--platform-view-opacity" : @"platform_view_opacity", @"--platform-view-rotate" : @"platform_view_rotate", + @"--bogus-font-text" : @"bogus_font_text", }; }); _identifier = launchArgsMap[launchArg]; @@ -44,4 +44,32 @@ NSDictionary* launchArgsMap; return self; } +- (void)checkGoldenForTest:(XCTestCase*)test { + XCUIScreenshot* screenshot = [[XCUIScreen mainScreen] screenshot]; + if (!_goldenImage.image) { + XCTAttachment* attachment = [XCTAttachment attachmentWithScreenshot:screenshot]; + attachment.name = [_goldenImage.goldenName stringByAppendingString:@"_new"]; + attachment.lifetime = XCTAttachmentLifetimeKeepAlways; + [test addAttachment:attachment]; + // Instead of XCTFail because that definition changed between Xcode 11 and 12 whereas this impl + // is stable. + _XCTPrimitiveFail(test, + @"This test will fail - no golden named %@ found. " + @"Follow the steps in the README to add a new golden.", + _goldenImage.goldenName); + } + + if (![_goldenImage compareGoldenToImage:screenshot.image]) { + XCTAttachment* screenshotAttachment = [XCTAttachment attachmentWithImage:screenshot.image]; + screenshotAttachment.name = [_goldenImage.goldenName stringByAppendingString:@"_actual"]; + screenshotAttachment.lifetime = XCTAttachmentLifetimeKeepAlways; + [test addAttachment:screenshotAttachment]; + + _XCTPrimitiveFail(test, + @"Goldens do not match. Follow the steps in the " + @"README to update golden named %@ if needed.", + _goldenImage.goldenName); + } +} + @end diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewUITests.m b/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewUITests.m index 1d23e3a0643780273f2d77e156fc41ee0f2c0119..a078c46aa86f1c711474c56e9fe4476f8f72f7bb 100644 --- a/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewUITests.m +++ b/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewUITests.m @@ -11,13 +11,12 @@ @implementation PlatformViewUITests - (instancetype)initWithInvocation:(NSInvocation*)invocation { - PlatformViewGoldenTestManager* manager = - [[PlatformViewGoldenTestManager alloc] initWithLaunchArg:@"--platform-view"]; + GoldenTestManager* manager = [[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view"]; return [super initWithManager:manager invocation:invocation]; } - (void)testPlatformView { - [self checkGolden]; + [self checkPlatformViewGolden]; } @end @@ -29,13 +28,13 @@ @implementation MultiplePlatformViewsTest - (instancetype)initWithInvocation:(NSInvocation*)invocation { - PlatformViewGoldenTestManager* manager = - [[PlatformViewGoldenTestManager alloc] initWithLaunchArg:@"--platform-view-multiple"]; + GoldenTestManager* manager = + [[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-multiple"]; return [super initWithManager:manager invocation:invocation]; } - (void)testPlatformView { - [self checkGolden]; + [self checkPlatformViewGolden]; } @end @@ -47,7 +46,7 @@ @implementation MultiplePlatformViewsBackgroundForegroundTest - (instancetype)initWithInvocation:(NSInvocation*)invocation { - PlatformViewGoldenTestManager* manager = [[PlatformViewGoldenTestManager alloc] + GoldenTestManager* manager = [[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-multiple-background-foreground"]; return [super initWithManager:manager invocation:invocation]; } @@ -55,7 +54,7 @@ - (void)testPlatformView { [[XCUIDevice sharedDevice] pressButton:XCUIDeviceButtonHome]; [self.application activate]; - [self checkGolden]; + [self checkPlatformViewGolden]; } @end @@ -68,13 +67,13 @@ @implementation PlatformViewMutationClipRectTests - (instancetype)initWithInvocation:(NSInvocation*)invocation { - PlatformViewGoldenTestManager* manager = - [[PlatformViewGoldenTestManager alloc] initWithLaunchArg:@"--platform-view-cliprect"]; + GoldenTestManager* manager = + [[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-cliprect"]; return [super initWithManager:manager invocation:invocation]; } - (void)testPlatformView { - [self checkGolden]; + [self checkPlatformViewGolden]; } @end @@ -86,13 +85,13 @@ @implementation PlatformViewMutationClipRRectTests - (instancetype)initWithInvocation:(NSInvocation*)invocation { - PlatformViewGoldenTestManager* manager = - [[PlatformViewGoldenTestManager alloc] initWithLaunchArg:@"--platform-view-cliprrect"]; + GoldenTestManager* manager = + [[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-cliprrect"]; return [super initWithManager:manager invocation:invocation]; } - (void)testPlatformView { - [self checkGolden]; + [self checkPlatformViewGolden]; } @end @@ -104,13 +103,13 @@ @implementation PlatformViewMutationClipPathTests - (instancetype)initWithInvocation:(NSInvocation*)invocation { - PlatformViewGoldenTestManager* manager = - [[PlatformViewGoldenTestManager alloc] initWithLaunchArg:@"--platform-view-clippath"]; + GoldenTestManager* manager = + [[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-clippath"]; return [super initWithManager:manager invocation:invocation]; } - (void)testPlatformView { - [self checkGolden]; + [self checkPlatformViewGolden]; } @end @@ -122,13 +121,13 @@ @implementation PlatformViewMutationTransformTests - (instancetype)initWithInvocation:(NSInvocation*)invocation { - PlatformViewGoldenTestManager* manager = - [[PlatformViewGoldenTestManager alloc] initWithLaunchArg:@"--platform-view-transform"]; + GoldenTestManager* manager = + [[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-transform"]; return [super initWithManager:manager invocation:invocation]; } - (void)testPlatformView { - [self checkGolden]; + [self checkPlatformViewGolden]; } @end @@ -140,13 +139,13 @@ @implementation PlatformViewMutationOpacityTests - (instancetype)initWithInvocation:(NSInvocation*)invocation { - PlatformViewGoldenTestManager* manager = - [[PlatformViewGoldenTestManager alloc] initWithLaunchArg:@"--platform-view-opacity"]; + GoldenTestManager* manager = + [[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-opacity"]; return [super initWithManager:manager invocation:invocation]; } - (void)testPlatformView { - [self checkGolden]; + [self checkPlatformViewGolden]; } @end @@ -156,8 +155,8 @@ @implementation PlatformViewRotation - (instancetype)initWithInvocation:(NSInvocation*)invocation { - PlatformViewGoldenTestManager* manager = - [[PlatformViewGoldenTestManager alloc] initWithLaunchArg:@"--platform-view-rotate"]; + GoldenTestManager* manager = + [[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-rotate"]; return [super initWithManager:manager invocation:invocation]; } @@ -168,6 +167,6 @@ - (void)testPlatformView { XCUIDevice.sharedDevice.orientation = UIDeviceOrientationLandscapeLeft; - [self checkGolden]; + [self checkPlatformViewGolden]; } @end diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/README.md b/testing/scenario_app/ios/Scenarios/ScenariosUITests/README.md index 70e34f3e3d6008d144454b612b1ed615474be7a9..652fbed14aa3524aa1ca14c46d18ebba20f06719 100644 --- a/testing/scenario_app/ios/Scenarios/ScenariosUITests/README.md +++ b/testing/scenario_app/ios/Scenarios/ScenariosUITests/README.md @@ -1,16 +1,16 @@ -# PlatformView UI Tests +# Golden UI Tests -This folder contains a test for platform views. It renders a platform view -and does a screen shot comparison against a known good configuration. +This folder contains golden image tests. It renders UI (for instance, a platform +view) and does a screen shot comparison against a known good configuration. -The screen shots are named `golden_platform_view_MODEL`, with `_simulator` +The screen shots are named `golden_[scenario name]_[MODEL]`, with `_simulator` appended for simulators. The model numbers for physical devices correspond to the `hw.model` sys call, and will represent the model numbers. Simulator names are taken from the environment. New devices require running the test on the device, gathering the attachment -and verifying it manually, and then adding an appropriately named file to -this folder. +from the test result and verifying it manually. Then adding an appropriately +named file to this folder. If the test is attempted on a new device, the log will contain a message indicating the file name it expected to find. The test will continue and fail, diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_bogus_font_text_iPhone 8_simulator.png b/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_bogus_font_text_iPhone 8_simulator.png new file mode 100644 index 0000000000000000000000000000000000000000..ee124e0089ca808e5f7611516011b00288ef1992 Binary files /dev/null and b/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_bogus_font_text_iPhone 8_simulator.png differ diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_clippath_iPhone SE_simulator.png b/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_clippath_iPhone SE_simulator.png deleted file mode 100644 index 8e776f220e84943877cec56192fc4de71ceed695..0000000000000000000000000000000000000000 Binary files a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_clippath_iPhone SE_simulator.png and /dev/null differ diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_cliprect_iPhone SE_simulator.png b/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_cliprect_iPhone SE_simulator.png deleted file mode 100644 index 90494129032151b1d2fe2a6334f38ef726435b3b..0000000000000000000000000000000000000000 Binary files a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_cliprect_iPhone SE_simulator.png and /dev/null differ diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_cliprrect_iPhone SE_simulator.png b/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_cliprrect_iPhone SE_simulator.png deleted file mode 100644 index 94667b9a8254d4eb6a4044d8cde3d7dbfdca6607..0000000000000000000000000000000000000000 Binary files a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_cliprrect_iPhone SE_simulator.png and /dev/null differ diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_iPhone SE_simulator.png b/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_iPhone SE_simulator.png deleted file mode 100644 index 1f9ee8937d927317efc96e04bfb9dd8c3562ac93..0000000000000000000000000000000000000000 Binary files a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_iPhone SE_simulator.png and /dev/null differ diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_multiple_iPhone SE_simulator.png b/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_multiple_iPhone SE_simulator.png deleted file mode 100644 index f3176650205d4383b1c57b6b2b970fb03688607e..0000000000000000000000000000000000000000 Binary files a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_multiple_iPhone SE_simulator.png and /dev/null differ diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_opacity_iPhone SE_simulator.png b/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_opacity_iPhone SE_simulator.png deleted file mode 100644 index 32e0a179a5c6c8aefad0735c61b127ab2bd3d3db..0000000000000000000000000000000000000000 Binary files a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_opacity_iPhone SE_simulator.png and /dev/null differ diff --git a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_transform_iPhone SE_simulator.png b/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_transform_iPhone SE_simulator.png deleted file mode 100644 index 678c7fd6bc7bb0e4e7bbae28ebdaf53539e0e1d4..0000000000000000000000000000000000000000 Binary files a/testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_transform_iPhone SE_simulator.png and /dev/null differ diff --git a/testing/scenario_app/lib/src/bogus_font_text.dart b/testing/scenario_app/lib/src/bogus_font_text.dart new file mode 100644 index 0000000000000000000000000000000000000000..e3cbbae08def5b3ef7c595ff72a77cdfa58eb594 --- /dev/null +++ b/testing/scenario_app/lib/src/bogus_font_text.dart @@ -0,0 +1,55 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// @dart = 2.6 +import 'dart:ui'; + +import 'scenario.dart'; + +/// Tries to draw some text in a bogus font. Should end up drawing in the +/// system default font. +class BogusFontText extends Scenario { + /// Creates the BogusFontText scenario. + /// + /// The [dispatcher] parameter must not be null. + BogusFontText(PlatformDispatcher dispatcher) + : assert(dispatcher != null), + super(dispatcher); + + // Semi-arbitrary. + double _screenWidth = 700; + + @override + void onBeginFrame(Duration duration) { + final SceneBuilder builder = SceneBuilder(); + final PictureRecorder recorder = PictureRecorder(); + final Canvas canvas = Canvas(recorder); + + final ParagraphBuilder paragraphBuilder = + ParagraphBuilder(ParagraphStyle(fontFamily: "some font that doesn't exist")) + ..pushStyle(TextStyle(fontSize: 80)) + ..addText('One more thing...') + ..pop(); + final Paragraph paragraph = paragraphBuilder.build(); + + paragraph.layout(ParagraphConstraints(width: _screenWidth)); + + canvas.drawParagraph(paragraph, const Offset(50, 80)); + final Picture picture = recorder.endRecording(); + + builder.addPicture( + Offset.zero, + picture, + willChangeHint: true, + ); + final Scene scene = builder.build(); + window.render(scene); + scene.dispose(); + } + + @override + void onDrawFrame() { + // Just draw once since the content never changes. + } +} diff --git a/testing/scenario_app/lib/src/scenarios.dart b/testing/scenario_app/lib/src/scenarios.dart index 7431752d4bbe12632ecda212456f2af730e2a5de..572eaa2ad7d49abdddda53421d23601ca05d133f 100644 --- a/testing/scenario_app/lib/src/scenarios.dart +++ b/testing/scenario_app/lib/src/scenarios.dart @@ -6,6 +6,7 @@ import 'dart:ui'; import 'animated_color_square.dart'; +import 'bogus_font_text.dart'; import 'initial_route_reply.dart'; import 'locale_initialization.dart'; import 'platform_view.dart'; @@ -43,6 +44,7 @@ Map _scenarios = { 'tap_status_bar': () => TouchesScenario(PlatformDispatcher.instance), 'text_semantics_focus': () => SendTextFocusSemantics(PlatformDispatcher.instance), 'initial_route_reply': () => InitialRouteReply(PlatformDispatcher.instance), + 'bogus_font_text': () => BogusFontText(PlatformDispatcher.instance), }; Map _currentScenarioParams = {};