20 auto message_latch = std::make_shared<fml::AutoResetWaitableEvent>();
22 auto native_validate_path = [message_latch](Dart_NativeArguments
args) {
23 auto handle = Dart_GetNativeArgument(
args, 0);
25 Dart_Handle result = Dart_GetNativeInstanceField(
27 EXPECT_FALSE(Dart_IsError(result));
32 EXPECT_TRUE(
path->path().IsVolatile());
33 EXPECT_TRUE(
path->path().GetSkPath().isVolatile());
37 EXPECT_TRUE(
path->path().IsVolatile());
38 EXPECT_TRUE(
path->path().GetSkPath().isVolatile());
41 path->path().WillRenderSkPath();
42 EXPECT_TRUE(
path->path().IsVolatile());
43 EXPECT_TRUE(
path->path().GetSkPath().isVolatile());
46 path->path().WillRenderSkPath();
47 EXPECT_FALSE(
path->path().IsVolatile());
48 EXPECT_FALSE(
path->path().GetSkPath().isVolatile());
51 path->addOval(10, 10, 20, 20);
55 EXPECT_TRUE(
path->path().IsVolatile());
56 EXPECT_TRUE(
path->path().GetSkPath().isVolatile());
60 EXPECT_FALSE(saved_path.
GetSkPath().isVolatile());
62 message_latch->Signal();
65 Settings settings = CreateSettingsForFixture();
67 GetCurrentTaskRunner(),
75 std::unique_ptr<Shell> shell = CreateShell(settings, task_runners);
77 ASSERT_TRUE(shell->IsSetup());
79 configuration.SetEntrypoint(
"createPath");
81 shell->RunEngine(std::move(configuration), [](
auto result) {
85 message_latch->Wait();
87 DestroyShell(std::move(shell), task_runners);
96 auto message_latch = std::make_shared<fml::AutoResetWaitableEvent>();
98 auto native_validate_path = [message_latch](Dart_NativeArguments
args) {
99 auto handle = Dart_GetNativeArgument(
args, 0);
101 Dart_Handle result = Dart_GetNativeInstanceField(
103 EXPECT_FALSE(Dart_IsError(result));
108 EXPECT_FALSE(
path->path().IsVolatile());
109 EXPECT_FALSE(
path->path().GetSkPath().isVolatile());
110 path->path().WillRenderSkPath();
112 EXPECT_FALSE(
path->path().IsVolatile());
113 EXPECT_FALSE(
path->path().GetSkPath().isVolatile());
115 message_latch->Signal();
118 Settings settings = CreateSettingsForFixture();
121 GetCurrentTaskRunner(),
129 std::unique_ptr<Shell> shell = CreateShell(settings, task_runners);
131 ASSERT_TRUE(shell->IsSetup());
133 configuration.SetEntrypoint(
"createPath");
135 shell->RunEngine(std::move(configuration), [](
auto result) {
139 message_latch->Wait();
141 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...