aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-21 17:31:42 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-11-21 17:31:42 -0800
commit55f8029dc28a8c8cc1e40daae1e888aea48c4a1a (patch)
tree3ebc7c07e40426055a1ad56210de3e02d79c5fa4
parenta3dc33c13350f4227c1cfb669f095d011d34ed76 (diff)
downloadbun-55f8029dc28a8c8cc1e40daae1e888aea48c4a1a.tar.gz
bun-55f8029dc28a8c8cc1e40daae1e888aea48c4a1a.tar.zst
bun-55f8029dc28a8c8cc1e40daae1e888aea48c4a1a.zip
Add test for wildcard import without an extension
-rw-r--r--test/bun.js/resolve.test.js29
1 files changed, 19 insertions, 10 deletions
diff --git a/test/bun.js/resolve.test.js b/test/bun.js/resolve.test.js
index 1ae00306e..80e2bb7ba 100644
--- a/test/bun.js/resolve.test.js
+++ b/test/bun.js/resolve.test.js
@@ -1,6 +1,10 @@
import { it, expect } from "bun:test";
import { mkdirSync, writeFileSync } from "fs";
-import { join } from "path";
+import { join, resolve } from "path";
+
+function resolveFrom(from) {
+ return (specifier) => import.meta.resolveSync(specifier, from);
+}
it("#imports", async () => {
await writePackageJSONImportsFixture();
@@ -44,16 +48,19 @@ it("#imports", async () => {
}
});
-// this is known to be failing
it("#imports with wildcard", async () => {
await writePackageJSONImportsFixture();
+ const run = resolveFrom(
+ resolve(
+ import.meta.dir + "/node_modules/package-json-imports/package.json",
+ ),
+ );
- // Chcek that package-json-imports/#foo/wildcard works
- expect(
- (
- await import.meta.resolve("package-json-imports/#foo/wildcard.js")
- ).endsWith("/wildcard.js"),
- ).toBe(true);
+ const wildcard = resolve(
+ import.meta.dir + "/node_modules/package-json-imports/foo/wildcard.js",
+ );
+ expect(run("#foo/wildcard.js")).toBe(wildcard);
+ expect(run("#foo/extensionless/wildcard")).toBe(wildcard);
});
it("import.meta.resolve", async () => {
@@ -241,9 +248,11 @@ function writePackageJSONImportsFixture() {
"./baz": "./foo/bar.js",
},
imports: {
- "#foo": "./foo/private-foo.js",
"#foo/bar": "./foo/private-foo.js",
- "#foo/": "./foo/",
+ "#foo/*.js": "./foo/*.js",
+ "#foo/extensionless/*": "./foo/*.js",
+ "#foo": "./foo/private-foo.js",
+
"#internal-react": "react",
},
},