aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js/import-meta.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/bun.js/import-meta.test.js')
-rw-r--r--test/bun.js/import-meta.test.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/bun.js/import-meta.test.js b/test/bun.js/import-meta.test.js
new file mode 100644
index 000000000..0e2faa903
--- /dev/null
+++ b/test/bun.js/import-meta.test.js
@@ -0,0 +1,33 @@
+import { it, expect } from "bun:test";
+import * as Module from "node:module";
+import sync from "./require-json.json";
+
+const { path, dir } = import.meta;
+
+it("import.meta.resolveSync", () => {
+ expect(
+ import.meta.resolveSync("./" + import.meta.file, import.meta.path)
+ ).toBe(path);
+ const require = Module.createRequire(import.meta.path);
+ expect(require.resolve(import.meta.path)).toBe(path);
+ expect(require.resolve("./" + import.meta.file)).toBe(path);
+
+ // check it works with URL objects
+ expect(
+ Module.createRequire(new URL(import.meta.url)).resolve(import.meta.path)
+ ).toBe(import.meta.path);
+});
+
+it("import.meta.require", () => {
+ expect(import.meta.require("./require-json.json").hello).toBe(sync.hello);
+ const require = Module.createRequire(import.meta.path);
+ expect(require("./require-json.json").hello).toBe(sync.hello);
+});
+
+it("import.meta.dir", () => {
+ expect(dir.endsWith("/bun/test/bun.js")).toBe(true);
+});
+
+it("import.meta.path", () => {
+ expect(path.endsWith("/bun/test/bun.js/import-meta.test.js")).toBe(true);
+});