aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-22 03:24:42 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-22 03:24:42 -0800
commitfefa4a1623dd2efd366c87997ac16dad4532f799 (patch)
treef3c391fbf75b919c72ff1c348a45027bf947e201
parent043e408b15c1c6cf2ad985a0001dbe7a0a02795b (diff)
downloadbun-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.js35
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);