diff options
Diffstat (limited to 'test/bun.js')
-rw-r--r-- | test/bun.js/import-meta.test.js | 42 | ||||
-rw-r--r-- | test/bun.js/import.live.decl.js | 4 | ||||
-rw-r--r-- | test/bun.js/import.live.rexport-require.js | 1 | ||||
-rw-r--r-- | test/bun.js/import.live.rexport.js | 2 | ||||
-rw-r--r-- | test/bun.js/require-js-top-level-await.js | 1 | ||||
-rw-r--r-- | test/bun.js/require-js.js | 2 | ||||
-rw-r--r-- | test/bun.js/require-js2.js | 1 |
7 files changed, 52 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); }); diff --git a/test/bun.js/import.live.decl.js b/test/bun.js/import.live.decl.js new file mode 100644 index 000000000..46e67c9bd --- /dev/null +++ b/test/bun.js/import.live.decl.js @@ -0,0 +1,4 @@ +export var foo = 1; +export function setFoo(val) { + foo = val; +} diff --git a/test/bun.js/import.live.rexport-require.js b/test/bun.js/import.live.rexport-require.js new file mode 100644 index 000000000..10c993e08 --- /dev/null +++ b/test/bun.js/import.live.rexport-require.js @@ -0,0 +1 @@ +export const Namespace = import.meta.require("./import.live.decl.js"); diff --git a/test/bun.js/import.live.rexport.js b/test/bun.js/import.live.rexport.js new file mode 100644 index 000000000..e4accd2ba --- /dev/null +++ b/test/bun.js/import.live.rexport.js @@ -0,0 +1,2 @@ +export { foo, setFoo } from "./import.live.decl"; +import { foo as bar } from "./import.live.decl"; diff --git a/test/bun.js/require-js-top-level-await.js b/test/bun.js/require-js-top-level-await.js new file mode 100644 index 000000000..16bff41c3 --- /dev/null +++ b/test/bun.js/require-js-top-level-await.js @@ -0,0 +1 @@ +export const fail = await 1; diff --git a/test/bun.js/require-js.js b/test/bun.js/require-js.js new file mode 100644 index 000000000..36fc31432 --- /dev/null +++ b/test/bun.js/require-js.js @@ -0,0 +1,2 @@ +import { hello } from "./require-js2.js"; +export { hello }; diff --git a/test/bun.js/require-js2.js b/test/bun.js/require-js2.js new file mode 100644 index 000000000..518e69641 --- /dev/null +++ b/test/bun.js/require-js2.js @@ -0,0 +1 @@ +export const hello = -123; |