@@ -473,6 +473,33 @@ TEST_F(EmbedderTest, VMShutsDownWhenNoEnginesInProcess) {
473473 }
474474}
475475
476+ // ------------------------------------------------------------------------------
477+ // /
478+ TEST_F (EmbedderTest, DartEntrypointArgs) {
479+ auto & context = GetEmbedderContext (ContextType::kSoftwareContext );
480+ EmbedderConfigBuilder builder (context);
481+ builder.SetSoftwareRendererConfig ();
482+ builder.AddDartEntrypointArgument (" foo" );
483+ builder.AddDartEntrypointArgument (" bar" );
484+ builder.SetDartEntrypoint (" dart_entrypoint_args" );
485+ fml::AutoResetWaitableEvent callback_latch;
486+ std::vector<std::string> callback_args;
487+ auto nativeArgumentsCallback = [&callback_args,
488+ &callback_latch](Dart_NativeArguments args) {
489+ Dart_Handle exception = nullptr ;
490+ callback_args =
491+ tonic::DartConverter<std::vector<std::string>>::FromArguments (
492+ args, 0 , exception);
493+ callback_latch.Signal ();
494+ };
495+ context.AddNativeCallback (" NativeArgumentsCallback" ,
496+ CREATE_NATIVE_ENTRY (nativeArgumentsCallback));
497+ auto engine = builder.LaunchEngine ();
498+ callback_latch.Wait ();
499+ ASSERT_EQ (callback_args[0 ], " foo" );
500+ ASSERT_EQ (callback_args[1 ], " bar" );
501+ }
502+
476503// ------------------------------------------------------------------------------
477504// / These snapshots may be materialized from symbols and the size field may not
478505// / be relevant. Since this information is redundant, engine launch should not
0 commit comments