From 0902ce29346b4eab06068bfef17971c79ce50d16 Mon Sep 17 00:00:00 2001 From: Xiao Yu Date: Wed, 25 Nov 2020 00:22:51 -0800 Subject: [PATCH 1/2] Add a golden scenario test for fallback font rendering on iOS take 3 --- testing/scenario_app/.gitignore | 1 + .../Scenarios.xcodeproj/project.pbxproj | 48 ++++--------- .../xcshareddata/xcschemes/Scenarios.xcscheme | 13 ++-- .../ios/Scenarios/Scenarios/AppDelegate.m | 13 ++-- .../ScenariosUITests/BogusFontTextTest.m | 31 +++++++++ .../GoldenPlatformViewTests.h | 13 ++-- .../GoldenPlatformViewTests.m | 35 ++-------- ...oldenTestManager.h => GoldenTestManager.h} | 8 ++- ...oldenTestManager.m => GoldenTestManager.m} | 36 ++++++++-- .../ScenariosUITests/PlatformViewUITests.m | 51 +++++++------- .../ios/Scenarios/ScenariosUITests/README.md | 12 ++-- ...den_bogus_font_text_iPhone 8_simulator.png | Bin 0 -> 22964 bytes ...form_view_clippath_iPhone SE_simulator.png | Bin 24415 -> 0 bytes ...form_view_cliprect_iPhone SE_simulator.png | Bin 21381 -> 0 bytes ...orm_view_cliprrect_iPhone SE_simulator.png | Bin 23202 -> 0 bytes ...lden_platform_view_iPhone SE_simulator.png | Bin 27388 -> 0 bytes ...form_view_multiple_iPhone SE_simulator.png | Bin 29685 -> 0 bytes ...tform_view_opacity_iPhone SE_simulator.png | Bin 30120 -> 0 bytes ...orm_view_transform_iPhone SE_simulator.png | Bin 28021 -> 0 bytes .../scenario_app/lib/src/bogus_font_text.dart | 64 ++++++++++++++++++ .../scenario_app/lib/src/channel_util.dart | 22 ++++-- .../lib/src/initial_route_reply.dart | 3 +- testing/scenario_app/lib/src/scenarios.dart | 2 + .../lib/src/touches_scenario.dart | 17 ++--- 24 files changed, 230 insertions(+), 139 deletions(-) create mode 100644 testing/scenario_app/ios/Scenarios/ScenariosUITests/BogusFontTextTest.m rename testing/scenario_app/ios/Scenarios/ScenariosUITests/{PlatformViewGoldenTestManager.h => GoldenTestManager.h} (78%) rename testing/scenario_app/ios/Scenarios/ScenariosUITests/{PlatformViewGoldenTestManager.m => GoldenTestManager.m} (50%) create mode 100644 testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_bogus_font_text_iPhone 8_simulator.png delete mode 100644 testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_clippath_iPhone SE_simulator.png delete mode 100644 testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_cliprect_iPhone SE_simulator.png delete mode 100644 testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_cliprrect_iPhone SE_simulator.png delete mode 100644 testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_iPhone SE_simulator.png delete mode 100644 testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_multiple_iPhone SE_simulator.png delete mode 100644 testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_opacity_iPhone SE_simulator.png delete mode 100644 testing/scenario_app/ios/Scenarios/ScenariosUITests/golden_platform_view_transform_iPhone SE_simulator.png create mode 100644 testing/scenario_app/lib/src/bogus_font_text.dart diff --git a/testing/scenario_app/.gitignore b/testing/scenario_app/.gitignore index b9de2ce97b175..7da18b117ef65 100644 --- a/testing/scenario_app/.gitignore +++ b/testing/scenario_app/.gitignore @@ -3,6 +3,7 @@ pubspec.lock # This only has local dependencies in it. build/ ios/Scenarios/*.framework/ +ios/Scenarios/*.xcframework/ android/app/libs/flutter.jar android/app/src/main/jniLibs/arm64-v8a/libapp.so android/gradle-home/.cache diff --git a/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj b/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj index c52019df01176..dd0df07a376d1 100644 --- a/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj +++ b/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj @@ -7,7 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 0A02E8F724EFAD27002D54E5 /* BogusFontTextTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A02E8F624EFAD27002D54E5 /* BogusFontTextTest.m */; }; 0A42BFB42447E179007E212E /* TextSemanticsFocusTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A42BFB32447E179007E212E /* TextSemanticsFocusTest.m */; }; + 0A4A68C0256E4B420008200E /* golden_bogus_font_text_iPhone 8_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 0A4A68BF256E4B420008200E /* golden_bogus_font_text_iPhone 8_simulator.png */; }; 0A57B3BD2323C4BD00DD9521 /* ScreenBeforeFlutter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A57B3BC2323C4BD00DD9521 /* ScreenBeforeFlutter.m */; }; 0A57B3BF2323C74200DD9521 /* FlutterEngine+ScenariosTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A57B3BE2323C74200DD9521 /* FlutterEngine+ScenariosTest.m */; }; 0A57B3C22323D2D700DD9521 /* AppLifecycleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A57B3C12323D2D700DD9521 /* AppLifecycleTests.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 */; }; 68D4017D2564859300ECD91A /* ContinuousTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = 68D4017C2564859300ECD91A /* ContinuousTexture.m */; }; /* End PBXBuildFile section */ @@ -115,8 +110,10 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A02E8F624EFAD27002D54E5 /* BogusFontTextTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BogusFontTextTest.m; 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 = ""; }; + 0A4A68BF256E4B420008200E /* golden_bogus_font_text_iPhone 8_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_bogus_font_text_iPhone 8_simulator.png"; sourceTree = ""; }; 0A57B3BB2323C4BD00DD9521 /* ScreenBeforeFlutter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScreenBeforeFlutter.h; sourceTree = ""; }; 0A57B3BC2323C4BD00DD9521 /* ScreenBeforeFlutter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ScreenBeforeFlutter.m; sourceTree = ""; }; 0A57B3BE2323C74200DD9521 /* FlutterEngine+ScenariosTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "FlutterEngine+ScenariosTest.m"; sourceTree = ""; }; @@ -144,7 +141,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 = ""; }; @@ -158,20 +154,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 = ""; }; 68D4017B2564859300ECD91A /* ContinuousTexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContinuousTexture.h; sourceTree = ""; }; 68D4017C2564859300ECD91A /* ContinuousTexture.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ContinuousTexture.m; sourceTree = ""; }; @@ -264,6 +254,7 @@ children = ( 4F06F1B124731F66000AF246 /* LocalizationInitializationTest.m */, 6402EBD024147BDA00987DCB /* UnobstructedPlatformViewTests.m */, + 0A4A68BF256E4B420008200E /* 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 */, @@ -275,24 +266,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 */, @@ -436,25 +421,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 */, 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 */, + 0A4A68C0256E4B420008200E /* golden_bogus_font_text_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; @@ -493,8 +472,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 45f9a68a0179b..f1894291285d1 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 0cbdafaa5984f..4a73ada21e119 100644 --- a/testing/scenario_app/ios/Scenarios/Scenarios/AppDelegate.m +++ b/testing/scenario_app/ios/Scenarios/Scenarios/AppDelegate.m @@ -28,7 +28,7 @@ - (BOOL)application:(UIApplication*)application 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", @@ -53,7 +53,8 @@ - (BOOL)application:(UIApplication*)application @"--tap-status-bar" : @"tap_status_bar", @"--text-semantics-focus" : @"text_semantics_focus", @"--animated-color-square" : @"animated_color_square", - @"--platform-view-with-continuous-texture" : @"platform_view_with_continuous_texture" + @"--platform-view-with-continuous-texture" : @"platform_view_with_continuous_texture", + @"--bogus-font-text" : @"bogus_font_text" }; __block NSString* flutterViewControllerTestName = nil; [launchArgsMap @@ -104,16 +105,18 @@ - (void)setupFlutterViewControllerTest:(NSString*)scenarioIdentifier { codec:[FlutterJSONMethodCodec sharedInstance]]; [channel invokeMethod:@"set_scenario" arguments:@{@"name" : scenarioIdentifier}]; }]; + // Can be used to synchronize timing in the test for a signal from Dart. [engine.binaryMessenger - setMessageHandlerOnChannel:@"touches_scenario" + setMessageHandlerOnChannel:@"display_data" binaryMessageHandler:^(NSData* _Nullable message, FlutterBinaryReply _Nonnull reply) { NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:message options:0 error:nil]; - UITextField* text = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 300, 100)]; - text.text = dict[@"change"]; + UITextField* text = [[UITextField alloc] initWithFrame:CGRectMake(0, 400, 300, 100)]; + text.text = dict[@"data"]; [flutterViewController.view addSubview:text]; }]; + TextPlatformViewFactory* textPlatformViewFactory = [[TextPlatformViewFactory alloc] initWithMessenger:engine.binaryMessenger]; NSObject* registrar = 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 0000000000000..14c9e0bb93365 --- /dev/null +++ b/testing/scenario_app/ios/Scenarios/ScenariosUITests/BogusFontTextTest.m @@ -0,0 +1,31 @@ +// 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]; + + XCUIElement* addTextField = application.textFields[@"ready"]; + XCTAssertTrue([addTextField waitForExistenceWithTimeout:30]); + + 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 3e4d0add04137..fd1b05ef0b009 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 29f1a472aa094..7e4bb368fc6eb 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 @@ @interface GoldenPlatformViewTests () @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 @@ - (void)setUp { } // 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 @@ - (void)checkGolden { @(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 733ea8839f11b..4bb0b275a77e9 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 230fe5c89e238..dcb82342f710b 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 @@ - (instancetype)initWithLaunchArg:(NSString*)launchArg { @"--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 @@ - (instancetype)initWithLaunchArg:(NSString*)launchArg { 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 24419a649910b..622730450a152 100644 --- a/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewUITests.m +++ b/testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewUITests.m @@ -13,13 +13,12 @@ @interface PlatformViewUITests : GoldenPlatformViewTests @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 @@ -31,13 +30,13 @@ @interface MultiplePlatformViewsTest : GoldenPlatformViewTests @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 @@ -49,7 +48,7 @@ @interface MultiplePlatformViewsBackgroundForegroundTest : GoldenPlatformViewTes @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]; } @@ -57,7 +56,7 @@ - (instancetype)initWithInvocation:(NSInvocation*)invocation { - (void)testPlatformView { [[XCUIDevice sharedDevice] pressButton:XCUIDeviceButtonHome]; [self.application activate]; - [self checkGolden]; + [self checkPlatformViewGolden]; } @end @@ -70,13 +69,13 @@ @interface PlatformViewMutationClipRectTests : GoldenPlatformViewTests @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 @@ -88,13 +87,13 @@ @interface PlatformViewMutationClipRRectTests : GoldenPlatformViewTests @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 @@ -106,13 +105,13 @@ @interface PlatformViewMutationClipPathTests : GoldenPlatformViewTests @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 @@ -124,13 +123,13 @@ @interface PlatformViewMutationTransformTests : GoldenPlatformViewTests @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 @@ -142,13 +141,13 @@ @interface PlatformViewMutationOpacityTests : GoldenPlatformViewTests @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 @@ -158,8 +157,8 @@ @interface PlatformViewRotation : GoldenPlatformViewTests @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]; } @@ -170,7 +169,7 @@ - (void)tearDown { - (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 70e34f3e3d600..652fbed14aa35 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..aedf92fb9dbc094c40f0c9be1fd61b46ee11e693 GIT binary patch literal 22964 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 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 GIT binary patch literal 0 HcmV?d00001 literal 23202 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 HjNkna{veBV 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 GIT binary patch literal 0 HcmV?d00001 literal 29685 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 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 GIT binary patch literal 0 HcmV?d00001 literal 30120 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 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 GIT binary patch literal 0 HcmV?d00001 literal 28021 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 DPa|d= 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 0000000000000..e3338234c665d --- /dev/null +++ b/testing/scenario_app/lib/src/bogus_font_text.dart @@ -0,0 +1,64 @@ +// 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 'channel_util.dart'; +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(); + + sendJsonMessage( + dispatcher: dispatcher, + channel: 'display_data', + json: { + 'data': 'ready', + }, + ); + } + + @override + void onDrawFrame() { + // Just draw once since the content never changes. + } +} diff --git a/testing/scenario_app/lib/src/channel_util.dart b/testing/scenario_app/lib/src/channel_util.dart index 36fa7257796c5..e1e8b2ac5efda 100644 --- a/testing/scenario_app/lib/src/channel_util.dart +++ b/testing/scenario_app/lib/src/channel_util.dart @@ -17,16 +17,30 @@ void sendJsonMethodCall({ @required String method, dynamic arguments, PlatformMessageResponseCallback callback, +}) { + sendJsonMessage( + dispatcher: dispatcher, + channel: channel, + json: { + 'method': method, + 'args': arguments, + }, + ); +} + +/// Send a JSON message over a channel. +void sendJsonMessage({ + @required PlatformDispatcher dispatcher, + @required String channel, + @required Map json, + PlatformMessageResponseCallback callback, }) { dispatcher.sendPlatformMessage( channel, // This recreates a combination of OptionalMethodChannel, JSONMethodCodec, // and _DefaultBinaryMessenger in the framework. utf8.encoder.convert( - const JsonCodec().encode({ - 'method': method, - 'args': arguments, - }) + const JsonCodec().encode(json) ).buffer.asByteData(), callback, ); diff --git a/testing/scenario_app/lib/src/initial_route_reply.dart b/testing/scenario_app/lib/src/initial_route_reply.dart index ffabb8d072ced..7bf37362be856 100644 --- a/testing/scenario_app/lib/src/initial_route_reply.dart +++ b/testing/scenario_app/lib/src/initial_route_reply.dart @@ -5,8 +5,7 @@ // @dart = 2.6 import 'dart:ui'; -import 'package:scenario_app/src/channel_util.dart'; - +import 'channel_util.dart'; import 'scenario.dart'; /// A blank page that just sends back to the platform what the set initial diff --git a/testing/scenario_app/lib/src/scenarios.dart b/testing/scenario_app/lib/src/scenarios.dart index e2c1f27206546..ea3ff807d49da 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'; @@ -44,6 +45,7 @@ Map _scenarios = { 'text_semantics_focus': () => SendTextFocusSemantics(PlatformDispatcher.instance), 'initial_route_reply': () => InitialRouteReply(PlatformDispatcher.instance), 'platform_view_with_continuous_texture': () => PlatformViewWithContinuousTexture(PlatformDispatcher.instance, 'Platform View', id: _viewId++), + 'bogus_font_text': () => BogusFontText(PlatformDispatcher.instance), }; Map _currentScenarioParams = {}; diff --git a/testing/scenario_app/lib/src/touches_scenario.dart b/testing/scenario_app/lib/src/touches_scenario.dart index bc1a01445cc2e..6d193f0ae44c3 100644 --- a/testing/scenario_app/lib/src/touches_scenario.dart +++ b/testing/scenario_app/lib/src/touches_scenario.dart @@ -4,9 +4,9 @@ // @dart = 2.6 -import 'dart:convert'; import 'dart:ui'; +import 'channel_util.dart'; import 'scenario.dart'; /// A scenario that sends back messages when touches are received. @@ -16,15 +16,12 @@ class TouchesScenario extends Scenario { @override void onPointerDataPacket(PointerDataPacket packet) { - window.sendPlatformMessage( - 'touches_scenario', - utf8.encoder - .convert(const JsonCodec().encode({ - 'change': packet.data[0].change.toString(), - })) - .buffer - .asByteData(), - null, + sendJsonMessage( + dispatcher: dispatcher, + channel: 'display_data', + json: { + 'data': packet.data[0].change.toString(), + }, ); } } From 8e685deb5c079e0dc70cf43ab84dc5b383e1753e Mon Sep 17 00:00:00 2001 From: Xiao Yu Date: Wed, 25 Nov 2020 00:55:40 -0800 Subject: [PATCH 2/2] make the golden in xcode 13 --- .../Scenarios.xcodeproj/project.pbxproj | 8 ++++---- ...den_bogus_font_text_iPhone 8_simulator.png | Bin 22964 -> 23265 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj b/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj index dd0df07a376d1..b86187a454fc4 100644 --- a/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj +++ b/testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj @@ -9,11 +9,11 @@ /* Begin PBXBuildFile section */ 0A02E8F724EFAD27002D54E5 /* BogusFontTextTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A02E8F624EFAD27002D54E5 /* BogusFontTextTest.m */; }; 0A42BFB42447E179007E212E /* TextSemanticsFocusTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A42BFB32447E179007E212E /* TextSemanticsFocusTest.m */; }; - 0A4A68C0256E4B420008200E /* golden_bogus_font_text_iPhone 8_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 0A4A68BF256E4B420008200E /* golden_bogus_font_text_iPhone 8_simulator.png */; }; 0A57B3BD2323C4BD00DD9521 /* ScreenBeforeFlutter.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A57B3BC2323C4BD00DD9521 /* ScreenBeforeFlutter.m */; }; 0A57B3BF2323C74200DD9521 /* FlutterEngine+ScenariosTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A57B3BE2323C74200DD9521 /* FlutterEngine+ScenariosTest.m */; }; 0A57B3C22323D2D700DD9521 /* AppLifecycleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A57B3C12323D2D700DD9521 /* AppLifecycleTests.m */; }; 0A97D7C024BA937000050525 /* FlutterViewControllerInitialRouteTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A97D7BF24BA937000050525 /* FlutterViewControllerInitialRouteTest.m */; }; + 0AC83146256E534E00DAE6BE /* golden_bogus_font_text_iPhone 8_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 0AC83145256E534E00DAE6BE /* golden_bogus_font_text_iPhone 8_simulator.png */; }; 0D14A3FE239743190013D873 /* golden_platform_view_rotate_iPhone SE_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 0D14A3FD239743190013D873 /* golden_platform_view_rotate_iPhone SE_simulator.png */; }; 0D8470A4240F0B1F0030B565 /* StatusBarTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D8470A3240F0B1F0030B565 /* StatusBarTest.m */; }; 0DB781EF22E931BE00E9B371 /* Flutter.xcframework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 246B4E4522E3B61000073EBF /* Flutter.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -113,13 +113,13 @@ 0A02E8F624EFAD27002D54E5 /* BogusFontTextTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BogusFontTextTest.m; 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 = ""; }; - 0A4A68BF256E4B420008200E /* golden_bogus_font_text_iPhone 8_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_bogus_font_text_iPhone 8_simulator.png"; sourceTree = ""; }; 0A57B3BB2323C4BD00DD9521 /* ScreenBeforeFlutter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScreenBeforeFlutter.h; sourceTree = ""; }; 0A57B3BC2323C4BD00DD9521 /* ScreenBeforeFlutter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ScreenBeforeFlutter.m; sourceTree = ""; }; 0A57B3BE2323C74200DD9521 /* FlutterEngine+ScenariosTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "FlutterEngine+ScenariosTest.m"; sourceTree = ""; }; 0A57B3C02323C74D00DD9521 /* FlutterEngine+ScenariosTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FlutterEngine+ScenariosTest.h"; sourceTree = ""; }; 0A57B3C12323D2D700DD9521 /* AppLifecycleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppLifecycleTests.m; sourceTree = ""; }; 0A97D7BF24BA937000050525 /* FlutterViewControllerInitialRouteTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FlutterViewControllerInitialRouteTest.m; sourceTree = ""; }; + 0AC83145256E534E00DAE6BE /* golden_bogus_font_text_iPhone 8_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_bogus_font_text_iPhone 8_simulator.png"; sourceTree = ""; }; 0D14A3FD239743190013D873 /* golden_platform_view_rotate_iPhone SE_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_rotate_iPhone SE_simulator.png"; sourceTree = ""; }; 0D8470A2240F0B1F0030B565 /* StatusBarTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StatusBarTest.h; sourceTree = ""; }; 0D8470A3240F0B1F0030B565 /* StatusBarTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StatusBarTest.m; sourceTree = ""; }; @@ -254,7 +254,7 @@ children = ( 4F06F1B124731F66000AF246 /* LocalizationInitializationTest.m */, 6402EBD024147BDA00987DCB /* UnobstructedPlatformViewTests.m */, - 0A4A68BF256E4B420008200E /* golden_bogus_font_text_iPhone 8_simulator.png */, + 0AC83145256E534E00DAE6BE /* 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 */, @@ -426,12 +426,12 @@ 3DEF491523C3BE6500184216 /* golden_platform_view_iPhone 8_simulator.png in Resources */, 0D14A3FE239743190013D873 /* golden_platform_view_rotate_iPhone SE_simulator.png in Resources */, 3DEF491823C3BE6500184216 /* golden_platform_view_opacity_iPhone 8_simulator.png in Resources */, + 0AC83146256E534E00DAE6BE /* 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 */, 3DEF491923C3BE6500184216 /* golden_platform_view_rotate_iPhone 8_simulator.png in Resources */, - 0A4A68C0256E4B420008200E /* golden_bogus_font_text_iPhone 8_simulator.png in Resources */, 24D47D1B230C79840069DD5E /* golden_platform_view_D211AP.png in Resources */, 244EA6D0230DBE8900B2D26E /* golden_platform_view_D21AP.png in Resources */, 3DEF491A23C3BE6500184216 /* golden_platform_view_transform_iPhone 8_simulator.png in Resources */, 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 index aedf92fb9dbc094c40f0c9be1fd61b46ee11e693..ee124e0089ca808e5f7611516011b00288ef1992 100644 GIT binary patch delta 10907 zcmXY1cUY3`+kTriEGttZSEgy^N=VIJmX$jvZd_oRis7D5zNKcGdm*CbOi?j6ilfX0 zj*@VXOwrtXg8Je6`#AUup69r)dtK*so#$Cmer%%hSZw5r8VTq_Ih(B4(oa@ToIGoA z;u-5P(Q^hu5ANRh_wCjVl{3@FgyNp(*uVa#H`gaeQ{%5h=#4AyuL#82ToQPDM&R>{ z2Vd;JF4H>>c!bOQI??rxTMaYm^bFM{Z2eZJ`O7h7c$c%sm&jeg@?#RX6F|t~?b06a z&P1ilHy*rh+PbuZ&fG<3$EfTzonT{B1N3TDdbw)APBVXl^4cw~lV>g+Jyvz~K7FBF ziuiZDzhSFVIf-H)qrA0zu(W)DoL^4&=qBthA{+D91g(x6hgeyQc@)32ntvx4eSa$U zktDE7UalSwR^54{TC>~$&=0nOLmxh=wQc<29v-$o2UXoH(BlOdtA`tUheoHaJbV35 zh|W0%4R$~~#=`SMcXj-5f81ljIot)Yd(o$+`K(BK>EQw0C!W5pdbs|EO{IqYui&xc zkn=oVzx4An{O4eYo3O)vU>`dFD$7S2`hLAzQR-A$dM(6J-SZ@H=91}?8|vup+_~ZL zgDvpo&Z;G+d~9Eb#`ynw(31hUtHmuafSEGGgSRbpM+`1W((#W7OR}mQY`6I!75Gob;aJj1f z@82)DlT{y@wnPC^&VKzeX}4j!9y$EF<4lN^fcqv6ro3;pr%Om`Hhi?6Cs*$TJu`Ur z_{qLoE6u8m<^r}QhK_~{{VH7LU^QmjN;Pw{$WdqT>F|{s?w3QF*;E;1*a2#MS5}$P z%zxl6Y0Rb3%X0kW83w*7Uv+IY=dyanj{uWDUT#?l_z?2{DRx3iZ9FsHm< z=?kmQN5U9?ShrkY9Ea1$17Y>_`dzN-<>BYQ{|w*N6D;4T$X8zc#1{0T70OnWnQ+%t z54KB!0=<7R9avq3*_@V-^A#Gr-UGIv!k}C+E73zl#TN5uY;U)C{CLPxKcl>?VSY3| zz3;LvbHPVNRz9*Q-|o_W%ID`GnN;v;w>PC>W1vlC>nMz+VZ(sOHf(2(XO<*AuTx5iLj$T4;^qQLOg!H&@*`?7udX#;5J0cSP3E>rCMl%@<28{(BS9G#Q z(?^$sQ;1Wy$m2K4_os2-K>v2bjI~6$#@#OZQXNvH5NEaMTwTBD3LO4sJNU?Mz34g1O_8aL3;|hni2%~(VBHFe4(=Hz05NX9E1Zq;XT1yqoZpQ0Kx4ao%Mu6~iIL>P2VJ%QHG8A~zq8*Cb!(h<%08*}g? zI#viPX$hjFyqWUIq>n^eZ)D|W6_=#*isR%xdL-F^#v*ie5-n9D8PzoP@d8qz8|FI^ z+TVDviHl=9IZfTDuB8^2__l~iZb@IBPVAAY9QcX{_UAJX88eyd=`*a~OZ)J4@%xKH z`t`SIj&qom>gA2)$BJu{C-_!gTSjv3$XjfW1BdCQ1UrZ0#hnN7_Vf!#-{$tug*aMP zVkVHiP8CsEjgZJs1_5Vot#w*>)D4d=m8H}#{7FlwZx=|cZ>LI?|GUq;0DfCjF9h2D5b7o>;=T*~yHE5N!^Qsi$Xg~S;~ z=0Gf7-Fc5%opVvyw|6G$-k*3o5%)SI4RIx2!^AZ{9m4_X9X64tD@ zYx}YBcA6qOZ@a!3X72s+PT#I+Q#MHJk(3jw;4(0E!4qky_ZZPTv@^)323Fm~gQG2g z2sS6b>TdWpJhoNkoSb}4T<=g*1AoHYa ziJ7sNrwEMu)0Z?$tXKZ!0&J(?_oLjq9+i52fX`}b-iXH zzH3%&Bk{4?){_uRLLu^mMo3UG4}sTYrnCcB{xnZ9u&pb2Q^sCK#K2J?w_1rqhX|EH zHy&NVA*cK#^n#Fia3?V{!25+idS*-KPl-?cOFymK+jf`Zo$~=lrAg2S4abSU*)h5a zcH>oWU&+8pty*k_0>5GFey5`fWcu`Y#}oHnRb>t+_RQ1Zku{aXo59h|x><`claXNb z^+qCpMRuX2$N^jM${T7Oxjo3zw$jxg(QhN0A6r;+M+;_i?%tqtsFgKLUzo*l{91HF zefz>95}*%52Y^Ua!mqr*DM9{%F~dEB9)XmZ`tB$=?Gx^{q4W9Oj0YJJxTmJ4bpd4V zrg*NBwJ?@B0Qqkd@Ag)8w=8Q7TM&!U;t(8ijYhJU4hz9c}c*#Vp7omuw;x zFi1{LGBeZ{hHu;>o2(PyHWwSq(8z*)&HCAM{o(4Z23}a7>3bcbq*D{v+Ijp~f_Z3jN7iJqWR~BUB1<%?W^}8CT zPBnrulcZlnu0CCqDd(Aqn$Xm18XlRJowcs-QK45rp9zUJPV=R|y09Apo)XZf;qd~Z zn3<~8x<-1P)`f;=<8d!7C$BGh4wDI&X6|=9jCYxmV@APx*NjJ~pExbkxJ+-r*Q3e< z$rfX4I!J#?Qw%UxBwrdk+JQDLiH!_+pETIUpj}u8t)`S$N{I|A<&N=4fN%y+l427N zQME1djnF0b2>I)SZRu{HE5^K%iI@L%0`DZK?k0G`Kex(5ZNiA~qUR!2>2Ki04&a1n zUaSlke~-d^k@JqbO?34=l4r>Yc~-k5(x~{9RKBAw72ug-0@G^?nQx}K22&D9Kk{DK zkTJ#eIOLn8{aH+m*%>1n52YC?f_Zw*t{jer_qZs_J+|BJ(+%1qK^w}>4x$83{S8-| z62PwJEEc2wnGwAiFTaI~cD!d;7RT=+?NVBgh+fZ*R=Bgg@RG$`xHR-ZbbncT21_Dl zWJ=fqaFM6<2Pu2CdZvhqv2`mh6SrO@7OgD#G%98r?SV1Xn(zbzo6GU+cx1D)@9B)G zA^i^$@RX~kPVNOjc_4)W~#Kh3j@ON_QOePTQ_(LZlp<*f5st7+hH|Ur- z>gTRKE1;f^SnpOlC$`96F}beTxUPuZWKlr?VL9E?U2RvTJnFX}Np;;OW4Q z7M~llTTrSwy3AY!UJ!*)Wvnz04@)MK>jKJk3*V(-ou!1ro#M%>gGGa8&oD-Nh@?jP z&G;zFQc)v1hFZ1U5I107X5kHHcSN`p;wN%^cAn2I7kSIMS@Q}9J#y{@kN)o%1z(225YRtLJb=cQWc3H>9_s?97vnBN;*(M}Amg7YnVpaCuJz0R zc_-Kls=|gKW1 z@DGAdl;fZ8kIqPt?kT2*@(2i8Pz=m0WC8IkO(&}#9SsUl+4B!u$W!mk0 z+koK~)O9i#Wj7U_Q&t{jdpVxvb=-{lRP_Sv^KHl)*C00(*KjVNna$Sk?wy{uou8^{ z%RhZQG+hc_nmKEGWpI;}goGx&sykclLRo>&t+B%Sanj-@^EjpU4H2yt2%L6oU^QU} zuKkoF=d8ARd%Jetdr6L8Kv!6o+8xO0!rMb}`Np|}h4rzYj0L4CBL{kig=GvDucgs^ z>gTN%uhNslBf%i=>Y)G&!|UWXz6ofA035G4wi+FT7Huwn;}`EFi{$*HnkyKH{*fB1 z!wENlR2#iSHIbd)oPy?A@Ra+!yhC!hv7h=2<7Keq6inOt)_xue%q`Qy@JuXOMjC+1 zV@ahUVtQ+Nw;^G#q^v|JZIx`}EvVyi9dY@sU^e?XCwesft)p&AuD5{C_c|3yI z@m`=(Sy5kvE2-@R2Xk^i`A#c=dxG?Moj^S7%?j_qqK+}*BXaVco=uC%1=F{$`*}M! z*p+Jp2pBrcXfTHv)bHxNiBLzc#s`e1%@+JnIp8E00EL4>kInxjDMg|21x)BY7tgVF z_#R5k>U^Tsn)tp@Ik;EUL0blirYik4;@|20Y*|8#j=kd|xs5hL6ils2{(HwMi*(Af z;In~`0TyqkP0<+oL~_Z2QXYsDP7rBT&?l*}N4d9|dwQ6OWplzQG}nA%<%nKneSP;1 z4cM@f@VQ&vu`1nJHr@IjjP7*}Wt~aYCL_-#U9`2g!_?nSIR4jwLrX{4P|j>g{ajzy zxfADSPno)5@+sW|ks;Rm3ls`r z%?7j*uHFpyNDBYu96I>@jgtK)xigCJYl{P(XB0Yp+5{nN{InT-VtktQj-$r2W1f|* z_>i|@jYHb{!n{$*&Tn4M5ENYOrrbjYnb^Ha?H=Btd8*!t$$ZPYaozfHMjMfb1E5tE z;IC);J9a4@81tLQlTz1l?3ftJskujT`E80wR@IG1szy)lml@}dxL3yBYfjwk zt5A`C*86ys;bPfejeGMB+Ov1nT7h@TEPhLr7~k)LVRAeNRYMRt`zk2ko?O{WH5sT6 zfow%u;RwbH$Me*SV&(X`&V%ae*5amY=c0Td#eU>qj>QlmbwY>8SQCZqv=VIp;9c!P#SgE3ofJup2$Gx(k zv#y{Fb2JJo;SqmUmjn&W*S9AP&99UZCFU0zjb^OMfhYt*$iXC02&KJz6l z1R#21Sb*AHI9rgwZ5mJsPocasQwel*i>FHd@$>Z^ThFL=;Y-^jdv{jIxR}AHF4k6m zJG+UdGf(7d^}T4ky!U}%9!mlSbj;{2!*k=a%K~zOd~%cQlVXP_4WRneV9)NhE~`a3(c&t|hk?0Wz&$UTQo%prtLw zGWnzF#h6Iitkk4-fF@}11G8HPyPpv7d!aa+lVI}fv;S+LxUb2`Ra&ER-MyqRX$r0A z;ER(UHwlnDTmfi9eRmLXhmQxDxL^RdEgoQSIf zAayjWqXe)`Kvw-gb(yIZQu(O)ZzU4QygrN<6X2@3t}@7l7X)MBT!|BuOV+0)ISh*5 z4wO~CED&nN6Hyo|nF!D1qA)fV6D{>-Ob(A>m633UXtBJ`duoYRGxQKK+^trrP+G1# z-Zq!;YOiUtSXD)-%N?7v{!1E>XyS--J$P05FW^;fNL6b}?osWU_K?t4dW3swvnf#C zvC^|Y(v$n6FVIpvM{Yk+J-LN$7^@1YM&R!cXT8*fT^1)=hDYCD~(Vle3xo=ntX<5aL#58fw5LE!*F_c zamEBa!Yv1WT+hCRtZm|MPq9Bhlk~mdRf$IGalq3o7mGrj-?V>Ua}$hRz3P|raK_QR zn2Gp=Z)%knH~stT#x?{?_nsNbB8p>Y7RxnAf7y}s)cNM=I{&HX=~?Do?q2hfaehA-efu=7Qt1h}J(g`sSf zUj?L3(G8)8gA$x=5;C1FoHqw+1|1k`c{6;CWitJDN+H)%3pd|mh_GprDQ}(WVpUlm zze{C%zfaHSX~%UoV4v!;kk~Xw^)4|--*7md5udewu!0Kpdn9WaZeDyc%_ru2mEg%j z_+P?%u+vAF-&9-lkKu>tk+16LIq6#AJ?&a!3Hpqy>r2g7V=q$D+5!JwtitQr%S%hw z3ZJe;VYv%AlvtQui?FfW$aKxbl&q*|aqh{&n2+qkgdxypK-Y_6{dEm-())>i-cWP` z3!WGbhiF&VjV_Yj_C8SzdJF?CDyW5F5*+oum@i01)-<~*-lb>TO14Tt>+&0F>oa9V~f>O3J|$p`ER8hZ>~G^`}bJxIW> z*$(9AhJXMn*osN~7-m?^)a|^HVoZ-$rH&ePt6@&yXE&8drf!va{xPF`icg*CY8>$X z{J@K`Whnv`o-R-kS$K})#V%r*ZK~g`P$8dd|^| zcecJE=<@pOrtTLuq>Dx{wPgJw?$lB+URq4VOf$KasD*kRoB+!WFdxjb;BBexu+(@d z@EjY7H%}@{Gaag)907NDY~OON~oj_`1Hw>MBoui@|m^2}72Z zU_TFs-P51fY;HsDBA-=eG%B3fB+kBfmEyWTlkTAzq7AqY506!`!epnyV;6l_4F`6?Z%!vDEq2WJ0sh>ZenbOgq`XK z(&}i&X=;Ng2w{m$3o02GcipA-b7Q@SoIGxQLHiaKU-Ns|fiOrRy?$U_3I$Bea}+0z z&@!a>Nw9H{&W7`H!!@*>S0$uJshm}BpJAD#2cJ?qBYv`Q^jjYEGml57G}Y;9>GI_e ztWo0ZJO-6gHv-o|#sqAYXIcfpU%lUz3Y<8<-Og5p%A#`Z-6j<+$S;Rc?e;dAq}^azL%P($cFK?g0|?WZwBe#w5R#AYrQ#&(s>mYgzgEQQLLn zK@3u#Wp$J89g-4FRBv}$uF>p$j^f@CSqKiaYp3FanHtk34F6Ph$r<;Koogvl~=H9lbf@6!~vXi!Mzr$<4UA}K~u zdG{T`%v`b>XpxUiw9b5aReZ4$y~^tcC{$@t(&x!`Qene(t6wTofkz)=CFFcd%*>K*f8!%dadJ<%@`5eZwiwrfz|9_4EV{iu+_*pNnEvVsVOYK}gV`Z>-p{#> zZMmqpPzwI^mdIS!(ZKyc84>bn6EXAkCqTzjm9;qX6Kc`n1RHQa=$Rq_Ik=>wRu}wf zs5LQokcnNnd?o&mMh%}L`J&0Solzxe29{cQ#?@nr;o~!^hr2p_6100P8bQs=p#xI~ zOW!M0cD}MD59-d0w<%3ai?IgXU;WOGb2LG}js0+Tp)^a|618FsJDvQ}u8;y-0siIE zuFz8bPSI1X$MYo6yB_iH{fN+5DCmMvY~;^7Ylg4^JI$1|Dzy@W6n7?X0)~97I0QR( zKr(kbIqZhXa`MblhBUZOp((X&qfqS<#o)5#jBTPL!Q5H`eNz|IfQ~(qiQsAlsk1m& z38-86l#%jM%_LaafWAToP?eFd0-F6&aLD<4lkLQIc6+T`ns)@r&yGm{hTSftwevL> zzOiKUM(qmrHKrwYAW;su$5z5PB(Havb{DW_ zYp_O$d{Le^>zSMCYm+}^y%wJ`l?B@;J20516$jN7_u1%d0iYk`LkI|3eLVR|MzO+W z6BhOlF|t8n3YVwt3*%b9$KJ_B4ZjUMx?A4SX!_W81KKh_YVk-LNl2KT?>vJUmGW_@ zJa1C_DN+B3bmb{;ERYqe)_LaKjvMWv|Iro@PDnS&zP_6kljuh7%5QwNVBTMAB4aOV zi+|4O0;FLGuyTm7_uVxq_98dznfyi@q4gl2Kb>t%Rg;L!Pg~K> zHFewBX;W=5`-HUR4S$Z{5`!dI_`>*xCJIKiW6-Gew^OM~TLbpPV$c*wFrB$e+A?9@ zHeO9eGT%<}F;!)(W$|5mv#{0RKkS(=W&{B8k>tGWg%8-wwYbo85fP2kRTAwh+WKgr zqhk38cUNouUNt!@ew3Bxr|rMbfR<|_f8||;Uuh=HWDF1D zTiS?vb4-eT{vGdLrZK9ydoe#sq<`dt*FxrHZ_HIV7;BZLrAd98?la~m7|;&n?KVoq zuW}7~jf8WCo6PC2jpd^F*DuAB_u8AK^hyR(!0~UVKKVHac@!sqjiRP+e5e@#TdAW} zvP9L<-_c{{RG9PSRQbypOfe|OJWE?yW)(CSw>P~t?Zngmb>yO%c#JC9;0!L~JfV#D z)%VMA**!Jzi;v9q)aGP=#2gy!i zT^`2KWJL3vTBTcHq-F5-{L!4JggN28^*0`&3+bsUEb?NfyR&Ta^qqeHoHAzO@3jQ8 zKJu_oyvPqL-b~ zV2JUwQh|{YDR)PrZrRA84{?$gl#1n^31Q(g4X!)W5fZTR^J%`dbU4C9SHccab^nmD z4q=sg6N`5b6|>wbOX<3nt1a)}p=Dhr75{c-Mq4$^3etU3=hI-yoR!2rYw!eD@PuqN zLFc-geNx0P1LK6H>rUPmjA||_{QVfxpOO>vZ69DVjmI=#uA(bP(zOXw?K^6cP+dH^ zM_MVwbXh~s-ynL1hq@ag`6@!ofpd#-Pd+Mq{KQIfHSw0C4rp=u5qQx-_p_GOoB_P| zh-m=ktAoW_DtSU8*<}OL>dE6w7@8$|NO+CT7Mr=H#*SElMVoiHHDuyBj#GfFv~N%S ztrCZ)12wFW{>R}`1`N$^k5vte*S2qRsi)OYGFrng@ATteeR#QXD}`)T;s*9>~mpo45_fZUv)I^)vEV|~r{^fLyCca5pAd)*IHrZ4JB zkRD6ObjV*vd6hH>7TD^js~rF)OYRw(EuIY;Jw?LbtV&~@91Q#Sv>G?GsB*vZ1y{a~ z?^`(QF+CJgN2Y>l1B@x*PAun=r+QH`qAXZajL`X^u@|0TWH$q@2y)9TNb+lc#23FS zLYJfw;>77`11)}gSzPs>HEWle67*Dd54IZtnWS{P+0^vL>0u*Q;2xP%Ry@{TO8Kq9 zmm{VPNy{;m-+0ZUWJBxX;=Xv5w@huxOmK2pF@h5V<-b-a&8C!%*rzI7hO(O*+U)Nl zbRxR=Tr~#?f27PGIL0VlMwpCiXIGF((&s-bj?U^H>A|?kXV6&2uY8pxY1pKgI`o;{ z@}Q7J-|W5hDxkVvLOpgi04u2j3R@9tToa>Yr%8tyUC1LTWD6l8ATv(pRxt{5pUvzn z1mf>48jqi?RWp(`tA5ap&pepT?8Z2n+;2pE?TnBolYgRyHFxWfj%|(RISOE0glu&? z!q3;%w`;;E%zmu1TCwhS`CZcItdS(LZ7cgJNcU|jz)E~;Py{YA*oklTosQKDEa;E-?J4yJTEwWmTfGuwzwi)S?HvRv1WALx<50Uh_=Xo znL~NxZ;{X8t|0h-n5yA@!K$N&l_roBoKl#- z0$#L@SG!DDd%j=D+L>n7$g0=QbYv7W#l1x;zDn=6+ilWgh!5>vibH!-`y^_IrTvy@ zy*t>IVGc8rPY>@3#OUTZDe2k+d3UX4Ta*lPxSVwtLfpPFZ5jJj5B3tLoH5z{p??tP zqzSE~Ox=KQd>N13KqPy}^hDtb?g1nS%#DLAoF<6|DJOy~tD61N##9L>;qFc66w4N( zEdb6C?S}Yn$zAH&aBj8X?(xN(_%zJMb#0FBxTkz*lWo7Ayv{fi<;rzaQ|#5k+J5v0 z;cSaS8Euf?2609iUuz87Va%wiUT}o_M$a&1b+|?@L$m$*soqaA&2a|6r+9vw!Nw7c zhep>|1!Udts1vT7?(9$R8gEk66_f|a8mBayjlN84pI>V|Z3Ts-H-T)cd(Py|b?4z< zUL;F5>So};Z`#|@vV~3($NLrjEl6{7( zGkquA_sp&nV)r(cLgXAZqw6=Sxe2ZTl~Mb%I-(uygG`Uo&;Hd*?+{x>$JAyJTj{l%X^#h zG@R8$uS;idYua>t#idXY>)Fc4->KR0G8pRqm_fV)hNoD%ab}~z3R0WBivCyLby8A~ zd5YG;U)x@6+&CQd84p^oA>Kb;o-ewTBjfj^cT+tn10#f`? z<5>x^|2y##V5)uL$IoZw`g2HykY;|v=$_w6N*Jawgx`;8NP!Shdf53n)v?afthYx{ zZgz{5eD*)rT=H>H==Qs(N?GORq)Se+izoMRt4a+R0tGdGvsbV94Bt?yNBJLs?C~1Dr)KuDYM`#5?imZ4<8cPU7sn!9f)% zn~qYf?(dx#^rU2YYsx$(IqTkKwb%a*p?&3ZgZnGH@V<=*r|U^+p&NSq8Ld9OfZIUo z|A(M>3S3kx>RQ3Ih8m$hSd+zgD|Ml~oRg{Xr5yhSdE>$F!}AU{fpc1E$DfwRHcdt= zx|!u^|1rScyFIz+=$HSsZ1;=G{~j%+pITeW$va80ZvSQ1#t#JM>4P4v{AOA|nCHtf zV0~+CHa}BE_zEz8v@}N%By&D%(ay7ROHmpkqr;@7y1HLJgecpK%xPCKsH-3OhI}|;u>$`auZqy5e?lxWnef!Kgg~D#TB18_GTg@o+caSe^4I>+awnu$3gBpAswe=>VkfiY=8y=+l{v@-T4Qf?zy=l>F z`s8HyfnEaktATu=*P9d4Lq%Da_Jlhu)_ktsn2O`{!`zF{l0%D+fxUttaX9A@*+ vKi5??9zQf<+CW3u%bO(1PG6hm+yO3pb1D2s=6&ox%#Vh;?&A_Qn}7cgHbHc{ delta 10589 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