Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit e8a2e84

Browse files
author
Chris Yang
committed
more scenario tests
1 parent 932a737 commit e8a2e84

File tree

8 files changed

+136
-1
lines changed

8 files changed

+136
-1
lines changed

testing/scenario_app/ios/Scenarios/Scenarios.xcodeproj/project.pbxproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
687AF8E9291EBDE0003912C7 /* golden_platform_view_clippath_with_transform_iPhone 8_13.0_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 687AF8E8291EBDE0003912C7 /* golden_platform_view_clippath_with_transform_iPhone 8_13.0_simulator.png */; };
4141
68A5B63423EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 68A5B63323EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m */; };
4242
68D4017D2564859300ECD91A /* ContinuousTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = 68D4017C2564859300ECD91A /* ContinuousTexture.m */; };
43+
68D5003F291ED645001ACFE1 /* golden_platform_view_cliprrect_with_transform_iPhone 8_13.0_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 68D5003D291ED645001ACFE1 /* golden_platform_view_cliprrect_with_transform_iPhone 8_13.0_simulator.png */; };
44+
68D50042291ED8CD001ACFE1 /* golden_platform_view_cliprect_with_transform_iPhone 8_13.0_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = 68D50041291ED8CD001ACFE1 /* golden_platform_view_cliprect_with_transform_iPhone 8_13.0_simulator.png */; };
4345
F26F15B8268B6B5600EC54D3 /* iPadGestureTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F26F15B7268B6B5500EC54D3 /* iPadGestureTests.m */; };
4446
F769EB53276312BB007AC10F /* golden_platform_view_cliprect_iPhone 8_13.0_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = F769EB52276312BB007AC10F /* golden_platform_view_cliprect_iPhone 8_13.0_simulator.png */; };
4547
F7B464EB2759D0A900079189 /* golden_two_platform_views_with_other_backdrop_filter_iPhone 8_13.0_simulator.png in Resources */ = {isa = PBXBuildFile; fileRef = F7B464DE2759D0A900079189 /* golden_two_platform_views_with_other_backdrop_filter_iPhone 8_13.0_simulator.png */; };
@@ -153,6 +155,8 @@
153155
68A5B63323EB71D300BDBCDB /* PlatformViewGestureRecognizerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PlatformViewGestureRecognizerTests.m; sourceTree = "<group>"; };
154156
68D4017B2564859300ECD91A /* ContinuousTexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ContinuousTexture.h; sourceTree = "<group>"; };
155157
68D4017C2564859300ECD91A /* ContinuousTexture.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ContinuousTexture.m; sourceTree = "<group>"; };
158+
68D5003D291ED645001ACFE1 /* golden_platform_view_cliprrect_with_transform_iPhone 8_13.0_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_cliprrect_with_transform_iPhone 8_13.0_simulator.png"; sourceTree = "<group>"; };
159+
68D50041291ED8CD001ACFE1 /* golden_platform_view_cliprect_with_transform_iPhone 8_13.0_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_cliprect_with_transform_iPhone 8_13.0_simulator.png"; sourceTree = "<group>"; };
156160
F26F15B7268B6B5500EC54D3 /* iPadGestureTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = iPadGestureTests.m; sourceTree = "<group>"; };
157161
F72114B628EF99F500184A2D /* Info_Impeller.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info_Impeller.plist; sourceTree = "<group>"; };
158162
F769EB52276312BB007AC10F /* golden_platform_view_cliprect_iPhone 8_13.0_simulator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "golden_platform_view_cliprect_iPhone 8_13.0_simulator.png"; sourceTree = "<group>"; };
@@ -292,6 +296,8 @@
292296
F7B464DC2759D02B00079189 /* Goldens */ = {
293297
isa = PBXGroup;
294298
children = (
299+
68D50041291ED8CD001ACFE1 /* golden_platform_view_cliprect_with_transform_iPhone 8_13.0_simulator.png */,
300+
68D5003D291ED645001ACFE1 /* golden_platform_view_cliprrect_with_transform_iPhone 8_13.0_simulator.png */,
295301
687AF8E8291EBDE0003912C7 /* golden_platform_view_clippath_with_transform_iPhone 8_13.0_simulator.png */,
296302
F7B464E32759D0A900079189 /* golden_bogus_font_text_iPhone 8_13.0_simulator.png */,
297303
F7B464E92759D0A900079189 /* golden_non_full_screen_flutter_view_platform_view_iPhone 8_13.0_simulator.png */,
@@ -435,6 +441,7 @@
435441
isa = PBXResourcesBuildPhase;
436442
buildActionMask = 2147483647;
437443
files = (
444+
68D50042291ED8CD001ACFE1 /* golden_platform_view_cliprect_with_transform_iPhone 8_13.0_simulator.png in Resources */,
438445
F7B464F62759D0A900079189 /* golden_non_full_screen_flutter_view_platform_view_iPhone 8_13.0_simulator.png in Resources */,
439446
F7B464F02759D0A900079189 /* golden_bogus_font_text_iPhone 8_13.0_simulator.png in Resources */,
440447
F7B464F22759D0A900079189 /* golden_platform_view_clippath_iPhone 8_13.0_simulator.png in Resources */,
@@ -445,6 +452,7 @@
445452
F7B464F32759D0A900079189 /* golden_platform_view_multiple_background_foreground_iPhone 8_13.0_simulator.png in Resources */,
446453
F7B464F72759D0A900079189 /* golden_platform_view_rotate_iPhone 8_13.0_simulator.png in Resources */,
447454
F7B464ED2759D0A900079189 /* golden_platform_view_cliprrect_iPhone 8_13.0_simulator.png in Resources */,
455+
68D5003F291ED645001ACFE1 /* golden_platform_view_cliprrect_with_transform_iPhone 8_13.0_simulator.png in Resources */,
448456
F7B464EB2759D0A900079189 /* golden_two_platform_views_with_other_backdrop_filter_iPhone 8_13.0_simulator.png in Resources */,
449457
F7B464F42759D0A900079189 /* golden_platform_view_with_other_backdrop_filter_iPhone 8_13.0_simulator.png in Resources */,
450458
687AF8E9291EBDE0003912C7 /* golden_platform_view_clippath_with_transform_iPhone 8_13.0_simulator.png in Resources */,

testing/scenario_app/ios/Scenarios/Scenarios/AppDelegate.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ - (BOOL)application:(UIApplication*)application
4444
@"--platform-view-cliprect" : @"platform_view_cliprect",
4545
@"--platform-view-cliprrect" : @"platform_view_cliprrect",
4646
@"--platform-view-clippath" : @"platform_view_clippath",
47+
@"--platform-view-cliprrect-with-transform" : @"platform_view_cliprrect_with_transform",
48+
@"--platform-view-cliprect-with-transform" : @"platform_view_cliprect_with_transform",
4749
@"--platform-view-clippath-with-transform" : @"platform_view_clippath_with_transform",
4850
@"--platform-view-transform" : @"platform_view_transform",
4951
@"--platform-view-opacity" : @"platform_view_opacity",

testing/scenario_app/ios/Scenarios/ScenariosUITests/GoldenTestManager.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ - (instancetype)initWithLaunchArg:(NSString*)launchArg {
3030
@"--platform-view-cliprect" : @"platform_view_cliprect",
3131
@"--platform-view-cliprrect" : @"platform_view_cliprrect",
3232
@"--platform-view-clippath" : @"platform_view_clippath",
33+
@"--platform-view-cliprrect-with-transform" : @"platform_view_cliprrect_with_transform",
34+
@"--platform-view-cliprect-with-transform" : @"platform_view_cliprect_with_transform",
3335
@"--platform-view-clippath-with-transform" : @"platform_view_clippath_with_transform",
3436
@"--platform-view-transform" : @"platform_view_transform",
3537
@"--platform-view-opacity" : @"platform_view_opacity",

testing/scenario_app/ios/Scenarios/ScenariosUITests/PlatformViewUITests.m

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,42 @@ - (void)testPlatformView {
134134

135135
@end
136136

137+
@interface PlatformViewMutationClipRectWithTransformTests : GoldenPlatformViewTests
138+
139+
@end
140+
141+
@implementation PlatformViewMutationClipRectWithTransformTests
142+
143+
- (instancetype)initWithInvocation:(NSInvocation*)invocation {
144+
GoldenTestManager* manager =
145+
[[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-cliprect-with-transform"];
146+
return [super initWithManager:manager invocation:invocation];
147+
}
148+
149+
- (void)testPlatformView {
150+
[self checkPlatformViewGolden];
151+
}
152+
153+
@end
154+
155+
@interface PlatformViewMutationClipRRectWithTransformTests : GoldenPlatformViewTests
156+
157+
@end
158+
159+
@implementation PlatformViewMutationClipRRectWithTransformTests
160+
161+
- (instancetype)initWithInvocation:(NSInvocation*)invocation {
162+
GoldenTestManager* manager =
163+
[[GoldenTestManager alloc] initWithLaunchArg:@"--platform-view-cliprrect-with-transform"];
164+
return [super initWithManager:manager invocation:invocation];
165+
}
166+
167+
- (void)testPlatformView {
168+
[self checkPlatformViewGolden];
169+
}
170+
171+
@end
172+
137173
@interface PlatformViewMutationClipPathWithTransformTests : GoldenPlatformViewTests
138174

139175
@end

testing/scenario_app/lib/src/platform_view.dart

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -645,9 +645,94 @@ class PlatformViewClipPathScenario extends PlatformViewScenario {
645645
}
646646
}
647647

648+
/// Platform view with clip rect after transformed.
649+
class PlatformViewClipRectWithTransformScenario extends PlatformViewScenario {
650+
/// Constructs a platform view with clip rect with transform scenario.
651+
PlatformViewClipRectWithTransformScenario(
652+
PlatformDispatcher dispatcher, {
653+
int id = 0,
654+
}) : super(dispatcher, id: id);
655+
656+
@override
657+
void onBeginFrame(Duration duration) {
658+
final Matrix4 matrix4 = Matrix4.identity()
659+
..rotateZ(1)
660+
..scale(0.5, 0.5, 1.0)
661+
..translate(1000.0, 100.0);
662+
663+
final SceneBuilder builder = SceneBuilder()..pushTransform(matrix4.storage);
664+
builder.pushClipRect(const Rect.fromLTRB(100, 100, 400, 400));
665+
666+
addPlatformView(
667+
id,
668+
dispatcher: dispatcher,
669+
sceneBuilder: builder,
670+
);
671+
672+
// Add a translucent rect that has the same size of PlatformView.
673+
final PictureRecorder recorder = PictureRecorder();
674+
final Canvas canvas = Canvas(recorder);
675+
canvas.drawRect(
676+
const Rect.fromLTWH(0, 0, 500, 500),
677+
Paint()..color = const Color(0x22FF0000),
678+
);
679+
final Picture picture = recorder.endRecording();
680+
builder.addPicture(const Offset(0, 0), picture);
681+
682+
finishBuilder(builder);
683+
}
684+
}
685+
686+
/// Platform view with clip rrect after transformed.
687+
class PlatformViewClipRRectWithTransformScenario extends PlatformViewScenario {
688+
/// Constructs a platform view with clip rrect with transform scenario.
689+
PlatformViewClipRRectWithTransformScenario(
690+
PlatformDispatcher dispatcher, {
691+
int id = 0,
692+
}) : super(dispatcher, id: id);
693+
694+
@override
695+
void onBeginFrame(Duration duration) {
696+
final Matrix4 matrix4 = Matrix4.identity()
697+
..rotateZ(1)
698+
..scale(0.5, 0.5, 1.0)
699+
..translate(1000.0, 100.0);
700+
701+
final SceneBuilder builder = SceneBuilder()..pushTransform(matrix4.storage);
702+
builder.pushClipRRect(
703+
RRect.fromLTRBAndCorners(
704+
100,
705+
100,
706+
400,
707+
400,
708+
topLeft: const Radius.circular(15),
709+
topRight: const Radius.circular(50),
710+
bottomLeft: const Radius.circular(50),
711+
),
712+
);
713+
addPlatformView(
714+
id,
715+
dispatcher: dispatcher,
716+
sceneBuilder: builder,
717+
);
718+
719+
// Add a translucent rect that has the same size of PlatformView.
720+
final PictureRecorder recorder = PictureRecorder();
721+
final Canvas canvas = Canvas(recorder);
722+
canvas.drawRect(
723+
const Rect.fromLTWH(0, 0, 500, 500),
724+
Paint()..color = const Color(0x22FF0000),
725+
);
726+
final Picture picture = recorder.endRecording();
727+
builder.addPicture(const Offset(0, 0), picture);
728+
729+
finishBuilder(builder);
730+
}
731+
}
732+
648733
/// Platform view with clip path after transformed.
649734
class PlatformViewClipPathWithTransformScenario extends PlatformViewScenario {
650-
/// Constructs a platform view with clip path wit transform scenario.
735+
/// Constructs a platform view with clip path with transform scenario.
651736
PlatformViewClipPathWithTransformScenario(
652737
PlatformDispatcher dispatcher, {
653738
int id = 0,

testing/scenario_app/lib/src/scenarios.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ Map<String, ScenarioFactory> _scenarios = <String, ScenarioFactory>{
3131
'platform_view_multiple_without_overlays': () => MultiPlatformViewWithoutOverlaysScenario(PlatformDispatcher.instance, firstId: _viewId++, secondId: _viewId++),
3232
'platform_view_max_overlays': () => PlatformViewMaxOverlaysScenario(PlatformDispatcher.instance, id: _viewId++),
3333
'platform_view_cliprect': () => PlatformViewClipRectScenario(PlatformDispatcher.instance, id: _viewId++),
34+
'platform_view_cliprect_with_transform': () => PlatformViewClipRectWithTransformScenario(PlatformDispatcher.instance, id: _viewId++),
3435
'platform_view_cliprrect': () => PlatformViewClipRRectScenario(PlatformDispatcher.instance, id: _viewId++),
36+
'platform_view_cliprrect_with_transform': () => PlatformViewClipRRectWithTransformScenario(PlatformDispatcher.instance, id: _viewId++),
3537
'platform_view_clippath': () => PlatformViewClipPathScenario(PlatformDispatcher.instance, id: _viewId++),
3638
'platform_view_clippath_with_transform': () => PlatformViewClipPathWithTransformScenario(PlatformDispatcher.instance, id: _viewId++),
3739
'platform_view_transform': () => PlatformViewTransformScenario(PlatformDispatcher.instance, id: _viewId++),

0 commit comments

Comments
 (0)