diff options
Diffstat (limited to 'test/bun.js/import-meta.test.js')
-rw-r--r-- | test/bun.js/import-meta.test.js | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/test/bun.js/import-meta.test.js b/test/bun.js/import-meta.test.js index 0e2faa903..f2cd996cd 100644 --- a/test/bun.js/import-meta.test.js +++ b/test/bun.js/import-meta.test.js @@ -18,12 +18,52 @@ it("import.meta.resolveSync", () => { ).toBe(import.meta.path); }); -it("import.meta.require", () => { +it("import.meta.require (json)", () => { 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.require (javascript)", () => { + expect(import.meta.require("./require-js.js").hello).toBe(sync.hello); + const require = Module.createRequire(import.meta.path); + expect(require("./require-js.js").hello).toBe(sync.hello); +}); + +it("import.meta.require (javascript, live bindings)", () => { + var Source = import.meta.require("./import.live.decl.js"); + + // require transpiles to import.meta.require + var ReExport = require("./import.live.rexport.js"); + + // dynamic require (string interpolation that way forces it to be dynamic) + var ReExportDynamic = require(`./import.live.${"rexport" + .split("") + .join("")}.js`); + + expect(Source.foo).toBe(1); + Source.setFoo(Source.foo + 1); + + expect(ReExport.foo).toBe(2); + expect(Source.foo).toBe(2); + expect(ReExportDynamic.foo).toBe(2); + + Source.setFoo(Source.foo + 1); + + var { Namespace } = require("./import.live.rexport-require.js"); + + expect(Namespace).toBe(Source); + expect(ReExport.foo).toBe(3); + expect(Source.foo).toBe(3); + expect(Namespace.foo).toBe(3); + + ReExport.setFoo(ReExport.foo + 1); + + expect(ReExport.foo).toBe(4); + expect(Source.foo).toBe(4); + expect(Namespace.foo).toBe(4); +}); + it("import.meta.dir", () => { expect(dir.endsWith("/bun/test/bun.js")).toBe(true); }); |