diff options
Diffstat (limited to 'test/bun.js/import-meta.test.js')
-rw-r--r-- | test/bun.js/import-meta.test.js | 33 |
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); +}); |