1414#include " flutter/shell/platform/embedder/test_utils/proc_table_replacement.h"
1515#include " flutter/testing/testing.h"
1616
17- #if 0
18-
1917namespace flutter ::testing {
2018
2119namespace {
@@ -39,28 +37,52 @@ void SetEngineDefaultView(FlutterEngine* engine, id flutterView) {
3937TEST (FlutterRenderer, PresentDelegatesToFlutterView) {
4038 FlutterEngine* engine = CreateTestEngine ();
4139 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 ];
4663}
4764
4865TEST (FlutterRenderer, TextureReturnedByFlutterView) {
4966 FlutterEngine* engine = CreateTestEngine ();
5067 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+
5375 FlutterFrameInfo frameInfo;
5476 frameInfo.struct_size = sizeof (FlutterFrameInfo);
5577 FlutterUIntSize dimensions;
5678 dimensions.width = 100 ;
5779 dimensions.height = 200 ;
5880 frameInfo.size = dimensions;
5981 CGSize size = CGSizeMake (dimensions.width , dimensions.height );
60- [[mockFlutterView expect] backingStoreForSize:size];
82+
83+ [[surfaceManagerMock expect ] backBufferForSize: size];
6184 [renderer createTextureForView: kFlutterDefaultViewId size: size];
85+ [surfaceManagerMock verify ];
6286}
6387
6488} // namespace flutter::testing
65-
66- #endif
0 commit comments