aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/cdp/discovery-test.ts29
-rw-r--r--test/util/debug-test.ts32
2 files changed, 61 insertions, 0 deletions
diff --git a/test/cdp/discovery-test.ts b/test/cdp/discovery-test.ts
new file mode 100644
index 0000000..7fc18fb
--- /dev/null
+++ b/test/cdp/discovery-test.ts
@@ -0,0 +1,29 @@
+import { test, describe } from "node:test";
+import assert from "node:assert/strict";
+import { endpointFromEnv } from "../../src/cdp/discovery";
+
+describe("BU_CDP_WS endpoint override", () => {
+ test("an unset variable leaves discovery to run normally", () => {
+ assert.equal(endpointFromEnv({}), undefined);
+ });
+
+ test("a set variable becomes the endpoint", () => {
+ const e = endpointFromEnv({ BU_CDP_WS: "ws://127.0.0.1:9333/devtools/browser/abc" });
+ assert.equal(e?.wsUrl, "ws://127.0.0.1:9333/devtools/browser/abc");
+ });
+
+ test("no userDataDir is claimed for a remote endpoint", () => {
+ const e = endpointFromEnv({ BU_CDP_WS: "ws://example.test/x" });
+ assert.equal(e?.userDataDir, undefined);
+ });
+
+ test("surrounding whitespace is trimmed", () => {
+ const e = endpointFromEnv({ BU_CDP_WS: " ws://127.0.0.1:9222/x " });
+ assert.equal(e?.wsUrl, "ws://127.0.0.1:9222/x");
+ });
+
+ test("an empty or whitespace-only variable is ignored, not treated as an endpoint", () => {
+ assert.equal(endpointFromEnv({ BU_CDP_WS: "" }), undefined);
+ assert.equal(endpointFromEnv({ BU_CDP_WS: " " }), undefined);
+ });
+});
diff --git a/test/util/debug-test.ts b/test/util/debug-test.ts
new file mode 100644
index 0000000..08236dd
--- /dev/null
+++ b/test/util/debug-test.ts
@@ -0,0 +1,32 @@
+import { test, describe, afterEach } from "node:test";
+import assert from "node:assert/strict";
+import { debugClicksEnabled, setDebugClicks } from "../../src/util/debug";
+
+describe("debug click overlay switch", () => {
+ afterEach(() => {
+ setDebugClicks(false);
+ });
+
+ test("off when neither the flag nor the env var is set", () => {
+ assert.equal(debugClicksEnabled({}), false);
+ });
+
+ test("the --browser-debug-clicks flag turns it on", () => {
+ setDebugClicks(true);
+ assert.equal(debugClicksEnabled({}), true);
+ });
+
+ test("BH_DEBUG_CLICKS still turns it on without the flag", () => {
+ assert.equal(debugClicksEnabled({ BH_DEBUG_CLICKS: "1" }), true);
+ });
+
+ test("an empty BH_DEBUG_CLICKS does not turn it on", () => {
+ assert.equal(debugClicksEnabled({ BH_DEBUG_CLICKS: "" }), false);
+ });
+
+ test("the flag can be turned back off", () => {
+ setDebugClicks(true);
+ setDebugClicks(false);
+ assert.equal(debugClicksEnabled({}), false);
+ });
+});