aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkball <kball@zendev.com>2019-06-21 16:30:48 -0500
committerRich Trott <rtrott@gmail.com>2019-07-29 22:47:36 -0700
commit99879cac865877825a5a1feda4b766a6f780573f (patch)
tree057e0fb22a4666a4fa7c1cad2eb652afe15a8788
parent800713418957106c0983745fa51adaeb4ef7dd07 (diff)
downloadandroid-node-v8-99879cac865877825a5a1feda4b766a6f780573f.tar.gz
android-node-v8-99879cac865877825a5a1feda4b766a6f780573f.tar.bz2
android-node-v8-99879cac865877825a5a1feda4b766a6f780573f.zip
vm: increase code coverage of source_text_module.js
PR-URL: https://github.com/nodejs/node/pull/28350 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
-rw-r--r--test/parallel/test-vm-module-dynamic-namespace.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/parallel/test-vm-module-dynamic-namespace.js b/test/parallel/test-vm-module-dynamic-namespace.js
new file mode 100644
index 0000000000..bcd91daebd
--- /dev/null
+++ b/test/parallel/test-vm-module-dynamic-namespace.js
@@ -0,0 +1,35 @@
+'use strict';
+
+// Flags: --experimental-vm-modules --expose-internals
+//
+const common = require('../common');
+
+const assert = require('assert');
+
+const { types } = require('util');
+const { SourceTextModule, wrapMap } = require('internal/vm/source_text_module');
+
+const { importModuleDynamicallyCallback } =
+ require('internal/process/esm_loader');
+
+async function getNamespace() {
+ const m = new SourceTextModule('');
+ await m.link(() => 0);
+ m.instantiate();
+ await m.evaluate();
+ return m.namespace;
+}
+
+(async () => {
+ const namespace = await getNamespace();
+ const m = new SourceTextModule('export const A = "A";', {
+ importModuleDynamically: common.mustCall((specifier, wrap) => {
+ return namespace;
+ })
+ });
+ await m.link(() => 0);
+ m.instantiate();
+ await m.evaluate();
+ const ns = await importModuleDynamicallyCallback(wrapMap.get(m));
+ assert.ok(types.isModuleNamespaceObject(ns));
+})().then(common.mustCall());