aboutsummaryrefslogtreecommitdiff
path: root/test/js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-04-04 16:49:33 -0700
committerGravatar GitHub <noreply@github.com> 2023-04-04 16:49:33 -0700
commita369fc8c8969b0f2d823bed5a7565d245311345b (patch)
tree1b8c16d0d5506d9fd6c3510e472588684e718030 /test/js
parent54d6f95f43774f92dddcbd91a669eec4a9f24d38 (diff)
downloadbun-a369fc8c8969b0f2d823bed5a7565d245311345b.tar.gz
bun-a369fc8c8969b0f2d823bed5a7565d245311345b.tar.zst
bun-a369fc8c8969b0f2d823bed5a7565d245311345b.zip
Implement `import.meta.main` (#2556)
* Implement `import.meta.main` * Update main-test-1.js * Update fs.test.ts --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'test/js')
-rw-r--r--test/js/bun/resolve/import-meta.test.js14
-rw-r--r--test/js/bun/resolve/main-test-1.js5
-rw-r--r--test/js/bun/resolve/main-test-script.js7
-rw-r--r--test/js/node/fs/fs.test.ts1
4 files changed, 27 insertions, 0 deletions
diff --git a/test/js/bun/resolve/import-meta.test.js b/test/js/bun/resolve/import-meta.test.js
index a95b1a0ea..c4bbdb1a6 100644
--- a/test/js/bun/resolve/import-meta.test.js
+++ b/test/js/bun/resolve/import-meta.test.js
@@ -2,6 +2,9 @@ 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";
+import { spawnSync } from "bun";
+import { bunEnv, bunExe } from "harness";
+import { join } from "node:path";
const { path, dir } = import.meta;
@@ -9,6 +12,17 @@ it("primordials are not here!", () => {
expect(import.meta.primordials === undefined).toBe(true);
});
+it("import.meta.main", () => {
+ const { exitCode } = spawnSync({
+ cmd: [bunExe(), "run", join(import.meta.dir, "./main-test-script.js")],
+ env: bunEnv,
+ stderr: "inherit",
+ stdout: "inherit",
+ stdin: null,
+ });
+ expect(exitCode).toBe(0);
+});
+
it("import.meta.resolveSync", () => {
expect(import.meta.resolveSync("./" + import.meta.file, import.meta.path)).toBe(path);
const require = Module.createRequire(import.meta.path);
diff --git a/test/js/bun/resolve/main-test-1.js b/test/js/bun/resolve/main-test-1.js
new file mode 100644
index 000000000..8e83d65e1
--- /dev/null
+++ b/test/js/bun/resolve/main-test-1.js
@@ -0,0 +1,5 @@
+if (import.meta.main) {
+ process.exit(1);
+}
+
+export const pass = true;
diff --git a/test/js/bun/resolve/main-test-script.js b/test/js/bun/resolve/main-test-script.js
new file mode 100644
index 000000000..d5b0cb67a
--- /dev/null
+++ b/test/js/bun/resolve/main-test-script.js
@@ -0,0 +1,7 @@
+import "./main-test-1";
+
+if (!import.meta.main) {
+ process.exit(1);
+}
+
+process.exit(0);
diff --git a/test/js/node/fs/fs.test.ts b/test/js/node/fs/fs.test.ts
index fa27ab246..f7b343539 100644
--- a/test/js/node/fs/fs.test.ts
+++ b/test/js/node/fs/fs.test.ts
@@ -38,6 +38,7 @@ import { ReadStream as ReadStreamStar_, WriteStream as WriteStreamStar_ } from "
const Buffer = globalThis.Buffer || Uint8Array;
if (!import.meta.dir) {
+ //@ts-expect-error
import.meta.dir = ".";
}