18 bool did_pass =
false;
19 auto message_latch = std::make_shared<fml::AutoResetWaitableEvent>();
21 GetCurrentTaskRunner(),
27 auto nativeCallPlatformMessageResponseDartPort =
30 auto dart_state = std::make_shared<tonic::DartState>();
31 auto response = fml::MakeRefCounted<PlatformMessageResponseDartPort>(
35 uint8_t*
data =
static_cast<uint8_t*
>(malloc(100));
36 auto mapping = std::make_unique<fml::MallocMapping>(
data, 100);
37 response->Complete(std::move(mapping));
41 "CallPlatformMessageResponseDartPort",
44 auto nativeFinishCallResponse = [message_latch,
48 message_latch->Signal();
51 AddNativeCallback(
"FinishCallResponse",
54 Settings settings = CreateSettingsForFixture();
56 std::unique_ptr<Shell> shell = CreateShell(settings, task_runners);
58 ASSERT_TRUE(shell->IsSetup());
60 configuration.SetEntrypoint(
"platformMessagePortResponseTest");
62 shell->RunEngine(std::move(configuration), [](
auto result) {
66 message_latch->Wait();
68 ASSERT_TRUE(did_pass);
69 DestroyShell(std::move(shell), task_runners);
static RunConfiguration InferFromSettings(const Settings &settings, const fml::RefPtr< fml::TaskRunner > &io_worker=nullptr, IsolateLaunchType launch_type=IsolateLaunchType::kNewGroup)
Attempts to infer a run configuration from the settings object. This tries to create a run configurat...