14
14
#include " flutter/shell/platform/embedder/test_utils/proc_table_replacement.h"
15
15
#include " flutter/testing/testing.h"
16
16
17
- #if 0
18
-
19
17
namespace flutter ::testing {
20
18
21
19
namespace {
@@ -39,28 +37,52 @@ void SetEngineDefaultView(FlutterEngine* engine, id flutterView) {
39
37
TEST (FlutterRenderer, PresentDelegatesToFlutterView) {
40
38
FlutterEngine* engine = CreateTestEngine ();
41
39
FlutterRenderer* renderer = [[FlutterRenderer alloc ] initWithFlutterEngine: engine];
42
- id mockFlutterView = OCMClassMock([FlutterView class]);
43
- SetEngineDefaultView(engine, mockFlutterView);
44
- [(FlutterView*)[mockFlutterView expect] present];
45
- [renderer present:kFlutterDefaultViewId];
40
+
41
+ id viewMock = OCMClassMock ([FlutterView class ]);
42
+ SetEngineDefaultView (engine, viewMock);
43
+
44
+ id surfaceManagerMock = OCMClassMock ([FlutterSurfaceManager class ]);
45
+ OCMStub ([viewMock surfaceManager ]).andReturn (surfaceManagerMock);
46
+
47
+ id surfaceMock = OCMClassMock ([FlutterSurface class ]);
48
+
49
+ FlutterMetalTexture texture = {};
50
+
51
+ OCMStub ([surfaceManagerMock lookupSurface: &texture])
52
+ .ignoringNonObjectArgs ()
53
+ .andReturn (surfaceMock);
54
+
55
+ [[surfaceManagerMock expect ] present: [OCMArg checkWithBlock: ^(id obj) {
56
+ NSArray * array = (NSArray *)obj;
57
+ return array.count == 1 ? YES : NO ;
58
+ }]
59
+ notify: nil ];
60
+
61
+ [renderer present: kFlutterDefaultViewId texture: &texture];
62
+ [surfaceManagerMock verify ];
46
63
}
47
64
48
65
TEST (FlutterRenderer, TextureReturnedByFlutterView) {
49
66
FlutterEngine* engine = CreateTestEngine ();
50
67
FlutterRenderer* renderer = [[FlutterRenderer alloc ] initWithFlutterEngine: engine];
51
- id mockFlutterView = OCMClassMock([FlutterView class]);
52
- SetEngineDefaultView(engine, mockFlutterView);
68
+
69
+ id viewMock = OCMClassMock ([FlutterView class ]);
70
+ SetEngineDefaultView (engine, viewMock);
71
+
72
+ id surfaceManagerMock = OCMClassMock ([FlutterSurfaceManager class ]);
73
+ OCMStub ([viewMock surfaceManager ]).andReturn (surfaceManagerMock);
74
+
53
75
FlutterFrameInfo frameInfo;
54
76
frameInfo.struct_size = sizeof (FlutterFrameInfo);
55
77
FlutterUIntSize dimensions;
56
78
dimensions.width = 100 ;
57
79
dimensions.height = 200 ;
58
80
frameInfo.size = dimensions;
59
81
CGSize size = CGSizeMake (dimensions.width , dimensions.height );
60
- [[mockFlutterView expect] backingStoreForSize:size];
82
+
83
+ [[surfaceManagerMock expect ] backBufferForSize: size];
61
84
[renderer createTextureForView: kFlutterDefaultViewId size: size];
85
+ [surfaceManagerMock verify ];
62
86
}
63
87
64
88
} // namespace flutter::testing
65
-
66
- #endif
0 commit comments