5 #import <OCMock/OCMock.h>
6 #import <XCTest/XCTest.h>
8 #import "flutter/fml/thread.h"
18 class MockDelegate :
public PlatformView::Delegate {
20 void OnPlatformViewCreated(std::unique_ptr<Surface> surface)
override {}
21 void OnPlatformViewDestroyed()
override {}
22 void OnPlatformViewScheduleFrame()
override {}
23 void OnPlatformViewAddView(int64_t view_id,
24 const ViewportMetrics& viewport_metrics,
25 AddViewCallback callback)
override {}
26 void OnPlatformViewRemoveView(int64_t view_id, RemoveViewCallback callback)
override {}
27 void OnPlatformViewSetNextFrameCallback(
const fml::closure& closure)
override {}
28 void OnPlatformViewSetViewportMetrics(int64_t view_id,
const ViewportMetrics& metrics)
override {}
29 const flutter::Settings& OnPlatformViewGetSettings()
const override {
return settings_; }
30 void OnPlatformViewDispatchPlatformMessage(std::unique_ptr<PlatformMessage> message)
override {}
31 void OnPlatformViewDispatchPointerDataPacket(std::unique_ptr<PointerDataPacket> packet)
override {
33 void OnPlatformViewSendViewFocusEvent(
const ViewFocusEvent& event)
override {}
34 void OnPlatformViewDispatchSemanticsAction(int64_t view_id,
36 SemanticsAction action,
37 fml::MallocMapping args)
override {}
38 void OnPlatformViewSetSemanticsEnabled(
bool enabled)
override {}
39 void OnPlatformViewSetAccessibilityFeatures(int32_t flags)
override {}
40 void OnPlatformViewRegisterTexture(std::shared_ptr<Texture> texture)
override {}
41 void OnPlatformViewUnregisterTexture(int64_t
texture_id)
override {}
42 void OnPlatformViewMarkTextureFrameAvailable(int64_t
texture_id)
override {}
44 void LoadDartDeferredLibrary(intptr_t loading_unit_id,
45 std::unique_ptr<const fml::Mapping> snapshot_data,
46 std::unique_ptr<const fml::Mapping> snapshot_instructions)
override {
48 void LoadDartDeferredLibraryError(intptr_t loading_unit_id,
49 const std::string error_message,
50 bool transient)
override {}
51 void UpdateAssetResolverByType(std::unique_ptr<flutter::AssetResolver> updated_asset_resolver,
52 flutter::AssetResolver::AssetResolverType type)
override {}
65 - (void)testSetSemanticsTreeEnabled {
66 flutter::MockDelegate mock_delegate;
67 auto thread = std::make_unique<fml::Thread>(
"PlatformViewIOSTest");
68 auto thread_task_runner = thread->GetTaskRunner();
69 flutter::TaskRunners runners(
self.name.UTF8String,
79 OCMStub([flutterViewController isViewLoaded]).andReturn(NO);
80 OCMStub([flutterViewController
engine]).andReturn(
engine);
81 OCMStub([
engine binaryMessenger]).andReturn(messenger);
83 auto platform_view = std::make_unique<flutter::PlatformViewIOS>(
89 std::make_shared<fml::SyncSwitch>());
90 fml::AutoResetWaitableEvent latch;
91 thread_task_runner->PostTask([&] {
102 [engine stopMocking];