From 29b22175bf6fc726d0b028c7bf5619ab89fca09a Mon Sep 17 00:00:00 2001 From: dave caruso Date: Fri, 15 Sep 2023 11:22:06 -0400 Subject: feat(runtime): add `process.binding` `uv`/`natives`/`config` + make global object properties lazy (#5355) * binding uv * we did that * some more bindings * fix doc * fix uv * yo * static hash table nonsense <3 * huge refactor to the global object i am not ready for merge conflicts * it works part 3 * lose --------- Co-authored-by: Jarred Sumner --- test/js/node/process-binding.test.ts | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 test/js/node/process-binding.test.ts (limited to 'test/js/node/process-binding.test.ts') diff --git a/test/js/node/process-binding.test.ts b/test/js/node/process-binding.test.ts new file mode 100644 index 000000000..c60a38bae --- /dev/null +++ b/test/js/node/process-binding.test.ts @@ -0,0 +1,26 @@ +describe("process.binding", () => { + test("process.binding('constants')", () => { + /* @ts-ignore */ + const constants = process.binding("constants"); + expect(constants).toBeDefined(); + expect(constants).toHaveProperty("os"); + expect(constants).toHaveProperty("crypto"); + expect(constants).toHaveProperty("fs"); + expect(constants).toHaveProperty("trace"); + expect(constants).toHaveProperty("zlib"); + }); + test("process.binding('uv')", () => { + /* @ts-ignore */ + const uv = process.binding("uv"); + expect(uv).toBeDefined(); + + expect(uv).toHaveProperty("errname"); + expect(uv).toHaveProperty("UV_EACCES"); + expect(uv.errname(-4)).toBe("EINTR"); + expect(uv.errname(5)).toBe("Unknown system error 5"); + + const map = uv.getErrorMap(); + expect(map).toBeDefined(); + expect(map.get(-56)).toEqual(["EISCONN", "socket is already connected"]); + }); +}); -- cgit v1.2.3