未验证 提交 14c78ff3 编写于 作者: C Chinmay Garde 提交者: GitHub

Make sure the native callback is registered before running the test. (#18981)

Otherwise, this is a race condition.

Fixes https://github.com/flutter/flutter/issues/58785
上级 592cbab9
......@@ -2841,6 +2841,16 @@ TEST_F(EmbedderTest, CanUpdateLocales) {
CREATE_NATIVE_ENTRY(
[&latch](Dart_NativeArguments args) { latch.Signal(); }));
fml::AutoResetWaitableEvent check_latch;
context.AddNativeCallback(
"SignalNativeCount",
CREATE_NATIVE_ENTRY([&check_latch](Dart_NativeArguments args) {
ASSERT_EQ(tonic::DartConverter<int>::FromDart(
Dart_GetNativeArgument(args, 0)),
2);
check_latch.Signal();
}));
auto engine = builder.LaunchEngine();
ASSERT_TRUE(engine.is_valid());
......@@ -2876,15 +2886,6 @@ TEST_F(EmbedderTest, CanUpdateLocales) {
FlutterEngineUpdateLocales(engine.get(), locales.data(), locales.size()),
kSuccess);
fml::AutoResetWaitableEvent check_latch;
context.AddNativeCallback(
"SignalNativeCount",
CREATE_NATIVE_ENTRY([&check_latch](Dart_NativeArguments args) {
ASSERT_EQ(tonic::DartConverter<int>::FromDart(
Dart_GetNativeArgument(args, 0)),
2);
check_latch.Signal();
}));
check_latch.Wait();
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册