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.js164
1 files changed, 0 insertions, 164 deletions
diff --git a/test/bun.js/import-meta.test.js b/test/bun.js/import-meta.test.js
deleted file mode 100644
index 3f89c09f0..000000000
--- a/test/bun.js/import-meta.test.js
+++ /dev/null
@@ -1,164 +0,0 @@
-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";
-
-const { path, dir } = import.meta;
-
-it("primordials are not here!", () => {
- expect(import.meta.primordials === undefined).toBe(true);
-});
-
-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("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);
- expect(require("./require-json.json").hello).toBe(sync.hello);
-});
-
-it("const f = require;require(json)", () => {
- const f = require;
- console.log(f);
- expect(f("./require-json.json").hello).toBe(sync.hello);
-});
-
-it("Module.createRequire().resolve", () => {
- const expected = Bun.resolveSync("./require-json.json", import.meta.dir);
-
- const createdRequire = Module.createRequire(import.meta.path);
- const result = createdRequire.resolve("./require-json.json");
-
- expect(result).toBe(expected);
-});
-
-// this is stubbed out
-it("Module._nodeModulePaths()", () => {
- const expected = Module._nodeModulePaths();
- expect(!!expected).toBe(true);
-});
-
-// this isn't used in bun but exists anyway
-// we just want it to not be undefined
-it("Module._cache", () => {
- const expected = typeof Module._cache === "object" && Module._cache;
- expect(!!expected).toBe(true);
-});
-
-it("Module._resolveFileName()", () => {
- const expected = Bun.resolveSync(import.meta.path, "/");
- const result = Module._resolveFileName(import.meta.path, "/", true);
- expect(result).toBe(expected);
-});
-
-it("Module.createRequire(file://url).resolve(file://url)", () => {
- const expected = Bun.resolveSync("./require-json.json", import.meta.dir);
-
- const createdRequire = Module.createRequire(import.meta.url);
- const result1 = createdRequire.resolve("./require-json.json");
- const result2 = createdRequire.resolve("file://./require-json.json");
-
- expect(result1).toBe(expected);
- expect(result2).toBe(expected);
-});
-
-it("import.meta.require.resolve", () => {
- const expected = Bun.resolveSync("./require-json.json", import.meta.dir);
- var { resolve } = import.meta.require;
- const result = resolve("./require-json.json");
- expect(result).toBe(expected);
-});
-
-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() require + TLA", async () => {
- expect((await import("./import-require-tla.js")).foo).toBe("bar");
-});
-
-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);
-});
-
-it("import.meta.path", () => {
- expect(path.endsWith("/bun/test/bun.js/import-meta.test.js")).toBe(true);
-});
-
-it('require("bun") works', () => {
- expect(require("bun")).toBe(Bun);
-});
-
-it('import("bun") works', async () => {
- expect(await import("bun")).toBe(Bun);
-});