From 1dad29aa044967db5f16568dc2591ba2976699b0 Mon Sep 17 00:00:00 2001 From: Marvin Hagemeister Date: Mon, 26 Aug 2024 11:19:58 +0200 Subject: fix(node/cluster): improve stubs to make log4js work (#25146) - Add missing exports to `node:cluster` - Fix default export not being an instance of `EventEmitter` - Fix aliasing of properties - Fix `disconnected` -> `disconnect` export naming This makes `log4js` work in Deno. `karma` starts too, but somehow the server isn't responding. That looks like a different issue. Fixes https://github.com/denoland/deno/issues/24858 --- tests/unit_node/cluster_test.ts | 43 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/unit_node/cluster_test.ts (limited to 'tests/unit_node') diff --git a/tests/unit_node/cluster_test.ts b/tests/unit_node/cluster_test.ts new file mode 100644 index 000000000..d9a59ae63 --- /dev/null +++ b/tests/unit_node/cluster_test.ts @@ -0,0 +1,43 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { assertEquals } from "@std/assert"; +import cluster from "node:cluster"; +import * as clusterNamed from "node:cluster"; + +Deno.test("[node/cluster] has all node exports", () => { + assertEquals(cluster.isPrimary, true); + assertEquals(cluster.isMaster, true); + assertEquals(cluster.isWorker, false); + assertEquals(typeof cluster.disconnect, "function"); + assertEquals(typeof cluster.on, "function"); + assertEquals(cluster.workers, {}); + assertEquals(cluster.settings, {}); + assertEquals(cluster.SCHED_NONE, 1); + assertEquals(cluster.SCHED_RR, 2); + assertEquals(typeof cluster.fork, "function"); + assertEquals(typeof cluster.disconnect, "function"); + assertEquals(typeof cluster.setupPrimary, "function"); + assertEquals(cluster.setupPrimary, cluster.setupMaster); + + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.setupPrimary, clusterNamed.setupPrimary); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.setupMaster, clusterNamed.setupMaster); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.workers, clusterNamed.workers); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.settings, clusterNamed.settings); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.fork, clusterNamed.fork); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.disconnect, clusterNamed.disconnect); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.SCHED_NONE, clusterNamed.SCHED_NONE); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.SCHED_RR, clusterNamed.SCHED_RR); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.isWorker, clusterNamed.isWorker); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.isPrimary, clusterNamed.isPrimary); + // @ts-ignore Our @types/node version is too old + assertEquals(cluster.isMaster, clusterNamed.isMaster); +}); -- cgit v1.2.3