Add a test for require with a query string

This commit is contained in:
Jarred Sumner
2023-01-22 03:24:42 -08:00
parent 043e408b15
commit fefa4a1623

View File

@@ -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);