diff options
author | 2023-01-22 03:24:42 -0800 | |
---|---|---|
committer | 2023-01-22 03:24:42 -0800 | |
commit | fefa4a1623dd2efd366c87997ac16dad4532f799 (patch) | |
tree | f3c391fbf75b919c72ff1c348a45027bf947e201 | |
parent | 043e408b15c1c6cf2ad985a0001dbe7a0a02795b (diff) | |
download | bun-fefa4a1623dd2efd366c87997ac16dad4532f799.tar.gz bun-fefa4a1623dd2efd366c87997ac16dad4532f799.tar.zst bun-fefa4a1623dd2efd366c87997ac16dad4532f799.zip |
Add a test for require with a query string
-rw-r--r-- | test/bun.js/import-meta.test.js | 35 |
1 files changed, 35 insertions, 0 deletions
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); |