From fefa4a1623dd2efd366c87997ac16dad4532f799 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Sun, 22 Jan 2023 03:24:42 -0800 Subject: Add a test for require with a query string --- test/bun.js/import-meta.test.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'test/bun.js/import-meta.test.js') diff --git a/test/bun.js/import-meta.test.js b/test/bun.js/import-meta.test.js index e08149f89..21d2c41a8 100644 --- a/test/bun.js/import-meta.test.js +++ b/test/bun.js/import-meta.test.js @@ -1,4 +1,5 @@ import { it, expect } from "bun:test"; +import { mkdirSync, rmSync, writeFileSync } from "node:fs"; import * as Module from "node:module"; import sync from "./require-json.json"; @@ -22,6 +23,40 @@ it("import.meta.resolveSync", () => { ).toBe(import.meta.path); }); +it("require with a query string works on dynamically created content", () => { + rmSync("/tmp/bun-test-import-meta-dynamic-dir", { + recursive: true, + force: true, + }); + try { + const require = Module.createRequire( + "/tmp/bun-test-import-meta-dynamic-dir/foo.js", + ); + try { + require("./bar.js?query=123"); + } catch (e) { + expect(e.name).toBe("ResolveError"); + } + + mkdirSync("/tmp/bun-test-import-meta-dynamic-dir", { recursive: true }); + + writeFileSync( + "/tmp/bun-test-import-meta-dynamic-dir/bar.js", + "export default 'hello';", + "utf8", + ); + + expect(require("./bar.js?query=123").default).toBe("hello"); + } catch (e) { + throw e; + } finally { + rmSync("/tmp/bun-test-import-meta-dynamic-dir", { + recursive: true, + force: true, + }); + } +}); + it("import.meta.require (json)", () => { expect(import.meta.require("./require-json.json").hello).toBe(sync.hello); const require = Module.createRequire(import.meta.path); -- cgit v1.2.3