diff --git a/tools/tests/apps/dynamic-import/.meteor/packages b/tools/tests/apps/dynamic-import/.meteor/packages index bf003114fb..316275a887 100644 --- a/tools/tests/apps/dynamic-import/.meteor/packages +++ b/tools/tests/apps/dynamic-import/.meteor/packages @@ -25,3 +25,4 @@ dispatch:mocha-phantomjs dispatch:mocha-browser lazy-test-package helper-package +user:colon-name diff --git a/tools/tests/apps/dynamic-import/packages/colon-name/README.md b/tools/tests/apps/dynamic-import/packages/colon-name/README.md new file mode 100644 index 0000000000..484fa42773 --- /dev/null +++ b/tools/tests/apps/dynamic-import/packages/colon-name/README.md @@ -0,0 +1,3 @@ +This package exists to test dynamic imports from packages that are +prefixed by a username, and thus have a colon between the username and the +package name. diff --git a/tools/tests/apps/dynamic-import/packages/colon-name/dynamic.js b/tools/tests/apps/dynamic-import/packages/colon-name/dynamic.js new file mode 100644 index 0000000000..f3e9aa9c6f --- /dev/null +++ b/tools/tests/apps/dynamic-import/packages/colon-name/dynamic.js @@ -0,0 +1 @@ +export const name = module.id; diff --git a/tools/tests/apps/dynamic-import/packages/colon-name/package.js b/tools/tests/apps/dynamic-import/packages/colon-name/package.js new file mode 100644 index 0000000000..8b9d865b65 --- /dev/null +++ b/tools/tests/apps/dynamic-import/packages/colon-name/package.js @@ -0,0 +1,12 @@ +Package.describe({ + name: "user:colon-name", + version: "0.0.1", + summary: "Package with a colon in its name", + git: "https://github.com/meteor/meteor/tree/devel/" + + "tools/tests/apps/dynamic-import/packages", + documentation: "README.md" +}); + +Package.onUse(function(api) { + api.use("ecmascript"); +}); diff --git a/tools/tests/apps/dynamic-import/tests.js b/tools/tests/apps/dynamic-import/tests.js index 622afa4296..7ff7052774 100644 --- a/tools/tests/apps/dynamic-import/tests.js +++ b/tools/tests/apps/dynamic-import/tests.js @@ -194,6 +194,15 @@ describe("dynamic import(...)", function () { assert.deepEqual(m, {}); }); }); + + it("should work for package names containing colons", () => { + import("meteor/user:colon-name/dynamic.js").then(dynamic => { + assert.strictEqual( + dynamic.name, + "/node_modules/meteor/user:colon-name/dynamic.js" + ); + }); + }); }); function maybeClearDynamicImportCache() {