From 55f8029dc28a8c8cc1e40daae1e888aea48c4a1a Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Mon, 21 Nov 2022 17:31:42 -0800 Subject: Add test for wildcard import without an extension --- test/bun.js/resolve.test.js | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'test/bun.js/resolve.test.js') 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", }, }, -- cgit v1.2.3