diff options
author | Bert Belder <bertbelder@gmail.com> | 2019-08-07 18:55:39 +0200 |
---|---|---|
committer | Bert Belder <bertbelder@gmail.com> | 2019-08-09 01:19:45 +0200 |
commit | 6fbf2e96243e6b79c1fb03c17b376b028e442694 (patch) | |
tree | 3271d5fb382354bc5e60725301b86ffd494add17 /tests/015_duplicate_parallel_import.js | |
parent | 56a82e72d9867a9b5f8a10bc8e4b81b86cd815c9 (diff) |
Dynamic import (#2516)
Diffstat (limited to 'tests/015_duplicate_parallel_import.js')
-rw-r--r-- | tests/015_duplicate_parallel_import.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/015_duplicate_parallel_import.js b/tests/015_duplicate_parallel_import.js new file mode 100644 index 000000000..37033cfa2 --- /dev/null +++ b/tests/015_duplicate_parallel_import.js @@ -0,0 +1,20 @@ +// Importing the same module in parallel, the module should only be +// instantiated once. + +const promises = new Array(100) + .fill(null) + .map(() => import("./subdir/mod1.ts")); + +Promise.all(promises).then(imports => { + const mod = imports.reduce((first, cur) => { + if (typeof first !== "object") { + throw new Error("Expected an object."); + } + if (first !== cur) { + throw new Error("More than one instance of the same module."); + } + return first; + }); + + mod.printHello3(); +}); |