const { test } = Deno;import { assert, assertThrows, assertEquals } from "../testing/asserts.ts";import { process } from "./process.ts";
test({ name: "process.cwd and process.chdir success", fn() { assert(process.cwd().match(/\Wstd$/)); process.chdir("node"); assert(process.cwd().match(/\Wnode$/)); process.chdir(".."); assert(process.cwd().match(/\Wstd$/)); },});
test({ name: "process.chdir failure", fn() { assertThrows( () => { process.chdir("non-existent-directory-name"); }, Deno.errors.NotFound, "file" ); },});
test({ name: "process.version", fn() { assertEquals(typeof process, "object"); assertEquals(typeof process.version, "string"); assertEquals(typeof process.versions, "object"); assertEquals(typeof process.versions.node, "string"); },});
test({ name: "process.platform", fn() { assertEquals(typeof process.platform, "string"); },});
test({ name: "process.arch", fn() { assertEquals(typeof process.arch, "string"); assertEquals(process.arch, Deno.build.arch); },});
test({ name: "process.pid", fn() { assertEquals(typeof process.pid, "number"); assertEquals(process.pid, Deno.pid); },});
test({ name: "process.on", fn() { assertEquals(typeof process.on, "function"); assertThrows( () => { process.on("uncaughtException", (_err: Error) => {}); }, Error, "implemented" ); },});
test({ name: "process.argv", fn() { assert(Array.isArray(process.argv)); assert( process.argv[0].match(/[^/\\]*deno[^/\\]*$/), "deno included in the file name of argv[0]" ); },});
test({ name: "process.env", fn() { assertEquals(typeof process.env.PATH, "string"); },});