@@ -49,12 +49,21 @@ TEST_F(EnvironmentTest, EnvironmentWithESMLoader) {
4949 node::LoadEnvironment (
5050 *env,
5151 " const { SourceTextModule } = require('vm');"
52- " try {"
53- " new SourceTextModule('export const a = 1;');"
52+ " (async () => {"
53+ " const stmString = 'globalThis.importResult = import(\"\" )';"
54+ " const m = new SourceTextModule(stmString, {"
55+ " importModuleDynamically: (async () => {"
56+ " const m = new SourceTextModule('');"
57+ " await m.link(() => 0);"
58+ " await m.evaluate();"
59+ " return m.namespace;"
60+ " }),"
61+ " });"
62+ " await m.link(() => 0);"
63+ " await m.evaluate();"
64+ " delete globalThis.importResult;"
5465 " process.exit(0);"
55- " } catch {"
56- " process.exit(42);"
57- " }" );
66+ " })()" );
5867}
5968
6069TEST_F (EnvironmentTest, EnvironmentWithNoESMLoader) {
@@ -67,19 +76,27 @@ TEST_F(EnvironmentTest, EnvironmentWithNoESMLoader) {
6776
6877 SetProcessExitHandler (*env, [&](node::Environment* env_, int exit_code) {
6978 EXPECT_EQ (*env, env_);
70- EXPECT_EQ (exit_code, 42 );
79+ EXPECT_EQ (exit_code, 1 );
7180 node::Stop (*env);
7281 });
7382
7483 node::LoadEnvironment (
7584 *env,
7685 " const { SourceTextModule } = require('vm');"
77- " try {"
78- " new SourceTextModule('export const a = 1;');"
79- " process.exit(0);"
80- " } catch {"
81- " process.exit(42);"
82- " }" );
86+ " (async () => {"
87+ " const stmString = 'globalThis.importResult = import(\"\" )';"
88+ " const m = new SourceTextModule(stmString, {"
89+ " importModuleDynamically: (async () => {"
90+ " const m = new SourceTextModule('');"
91+ " await m.link(() => 0);"
92+ " await m.evaluate();"
93+ " return m.namespace;"
94+ " }),"
95+ " });"
96+ " await m.link(() => 0);"
97+ " await m.evaluate();"
98+ " delete globalThis.importResult;"
99+ " })()" );
83100}
84101
85102TEST_F (EnvironmentTest, PreExecutionPreparation) {
0 commit comments