From 81758c497ce6518920eaf58e2162907b0315307d Mon Sep 17 00:00:00 2001 From: Shakker Date: Sat, 9 May 2026 04:34:09 +0100 Subject: [PATCH] test: tighten boundary empty array assertions --- test/extension-import-boundaries.test.ts | 2 +- test/extension-test-boundary.test.ts | 20 +++++++++---------- test/plugin-extension-import-boundary.test.ts | 4 ++-- ...t-helper-extension-import-boundary.test.ts | 4 ++-- test/vitest-unit-config.test.ts | 2 +- test/vitest-unit-fast-config.test.ts | 4 ++-- test/web-provider-boundary.test.ts | 8 ++++---- 7 files changed, 22 insertions(+), 22 deletions(-) diff --git a/test/extension-import-boundaries.test.ts b/test/extension-import-boundaries.test.ts index 530e0278942..b339db250a0 100644 --- a/test/extension-import-boundaries.test.ts +++ b/test/extension-import-boundaries.test.ts @@ -60,7 +60,7 @@ describe("extension import boundary inventories", () => { expect(jsonOutput.exitCode).toBe(0); expect(jsonOutput.stderr).toBe(""); - expect(jsonOutput.json).toEqual([]); + expect(jsonOutput.json).toStrictEqual([]); }); }); diff --git a/test/extension-test-boundary.test.ts b/test/extension-test-boundary.test.ts index dd13d1196a8..c386f67805d 100644 --- a/test/extension-test-boundary.test.ts +++ b/test/extension-test-boundary.test.ts @@ -176,7 +176,7 @@ describe("non-extension test boundaries", () => { }) .filter((value): value is { file: string; imports: string[] } => value !== null); - expect(offenders).toEqual([]); + expect(offenders).toStrictEqual([]); }); it("keeps extension-owned onboard helper coverage out of the core onboard auth suite", () => { @@ -197,7 +197,7 @@ describe("non-extension test boundaries", () => { bannedPluginSdkModules.has(entry), ); - expect(imports).toEqual([]); + expect(imports).toStrictEqual([]); }); it("keeps bundled plugin public-surface imports out of core source", () => { @@ -210,7 +210,7 @@ describe("non-extension test boundaries", () => { return findBundledPluginPublicSurfaceImports(source).length > 0; }); - expect(offenders).toEqual([]); + expect(offenders).toStrictEqual([]); }); it("keeps bundled plugin sync test-api loaders out of core tests", () => { @@ -228,7 +228,7 @@ describe("non-extension test boundaries", () => { return source.includes("loadBundledPluginTestApiSync("); }); - expect(offenders).toEqual([]); + expect(offenders).toStrictEqual([]); }); it("keeps resolver tests on generated fixtures for broad bundled plugin source APIs", () => { @@ -240,7 +240,7 @@ describe("non-extension test boundaries", () => { ); }); - expect(offenders).toEqual([]); + expect(offenders).toStrictEqual([]); }); it("keeps bundled channel security collector coverage under extension tests", () => { @@ -257,7 +257,7 @@ describe("non-extension test boundaries", () => { ); }); - expect(offenders).toEqual([]); + expect(offenders).toStrictEqual([]); }); it("keeps extension channel contract helpers on the public testing surface", () => { @@ -268,7 +268,7 @@ describe("non-extension test boundaries", () => { return source.includes("src/channels/plugins/contracts/test-helpers/"); }); - expect(offenders).toEqual([]); + expect(offenders).toStrictEqual([]); }); it("keeps extension tests off legacy broad testing barrels and repo helper bridges", () => { @@ -287,7 +287,7 @@ describe("non-extension test boundaries", () => { return bannedPatterns.some((pattern) => pattern.test(source)); }); - expect(offenders).toEqual([]); + expect(offenders).toStrictEqual([]); }); it("keeps extension root test-support helpers from reaching into private src trees", () => { @@ -302,7 +302,7 @@ describe("non-extension test boundaries", () => { }) .filter((entry): entry is { file: string; imports: string[] } => entry !== null); - expect(offenders).toEqual([]); + expect(offenders).toStrictEqual([]); }); it("keeps bundled extension sources off deprecated channel config schema aliases", () => { @@ -313,6 +313,6 @@ describe("non-extension test boundaries", () => { return source.includes("openclaw/plugin-sdk/channel-config-schema-legacy"); }); - expect(offenders).toEqual([]); + expect(offenders).toStrictEqual([]); }); }); diff --git a/test/plugin-extension-import-boundary.test.ts b/test/plugin-extension-import-boundary.test.ts index 5d490da0801..b912c9756f0 100644 --- a/test/plugin-extension-import-boundary.test.ts +++ b/test/plugin-extension-import-boundary.test.ts @@ -40,7 +40,7 @@ describe("plugin extension import boundary inventory", () => { file === "src/plugins/bundled-web-search-registry.ts", ); - expect(blockedShimFiles).toEqual([]); + expect(blockedShimFiles).toStrictEqual([]); }); it("ignores boundary shims by scope", async () => { @@ -50,7 +50,7 @@ describe("plugin extension import boundary inventory", () => { (file) => file.startsWith("src/plugin-sdk/") || file.startsWith("src/plugin-sdk-internal/"), ); - expect(boundaryShimFiles).toEqual([]); + expect(boundaryShimFiles).toStrictEqual([]); }); it("produces stable sorted output", async () => { diff --git a/test/test-helper-extension-import-boundary.test.ts b/test/test-helper-extension-import-boundary.test.ts index 2f7633cffd7..510f59e3e0f 100644 --- a/test/test-helper-extension-import-boundary.test.ts +++ b/test/test-helper-extension-import-boundary.test.ts @@ -7,7 +7,7 @@ import { createCapturedIo } from "./helpers/captured-io.js"; describe("test-helper extension import boundary inventory", () => { it("stays empty", async () => { - expect(await collectTestHelperExtensionImportBoundaryInventory()).toEqual([]); + expect(await collectTestHelperExtensionImportBoundaryInventory()).toStrictEqual([]); }); it("script json output stays empty", async () => { @@ -16,6 +16,6 @@ describe("test-helper extension import boundary inventory", () => { expect(exitCode).toBe(0); expect(captured.readStderr()).toBe(""); - expect(JSON.parse(captured.readStdout())).toEqual([]); + expect(JSON.parse(captured.readStdout())).toStrictEqual([]); }); }); diff --git a/test/vitest-unit-config.test.ts b/test/vitest-unit-config.test.ts index 0849d698ecb..4039f5589fa 100644 --- a/test/vitest-unit-config.test.ts +++ b/test/vitest-unit-config.test.ts @@ -45,7 +45,7 @@ describe("loadIncludePatternsFromEnv", () => { describe("loadExtraExcludePatternsFromEnv", () => { it("returns an empty list when no extra exclude file is configured", () => { - expect(loadExtraExcludePatternsFromEnv({})).toEqual([]); + expect(loadExtraExcludePatternsFromEnv({})).toStrictEqual([]); }); it("loads extra exclude patterns from a JSON file", () => { diff --git a/test/vitest-unit-fast-config.test.ts b/test/vitest-unit-fast-config.test.ts index ac4d914ee3a..3b54bf3f817 100644 --- a/test/vitest-unit-fast-config.test.ts +++ b/test/vitest-unit-fast-config.test.ts @@ -55,7 +55,7 @@ describe("unit-fast vitest lane", () => { expect(testConfig.isolate).toBe(false); expect(testConfig.runner).toBeUndefined(); - expect(testConfig.setupFiles).toEqual([]); + expect(testConfig.setupFiles).toStrictEqual([]); expect(testConfig.include).toContain("src/agents/pi-tools.deferred-followup-guidance.test.ts"); expect(testConfig.include).toContain("src/acp/control-plane/runtime-cache.test.ts"); expect(testConfig.include).toContain("src/acp/runtime/registry.test.ts"); @@ -138,7 +138,7 @@ describe("unit-fast vitest lane", () => { expect(isUnitFastTestFile(file)).toBe(true); } const unroutedForcedFiles = collectUnroutedForcedFiles(analysis, forcedFileSet); - expect(unroutedForcedFiles).toEqual([]); + expect(unroutedForcedFiles).toStrictEqual([]); }); it("keeps broad audit candidates separate from automatically routed unit-fast tests", () => { diff --git a/test/web-provider-boundary.test.ts b/test/web-provider-boundary.test.ts index 0be2870f288..44c5bf4a674 100644 --- a/test/web-provider-boundary.test.ts +++ b/test/web-provider-boundary.test.ts @@ -31,17 +31,17 @@ describe("web provider boundaries", () => { const violations = await webFetchViolationsPromise; const jsonOutput = await webFetchJsonOutputPromise; - expect(violations).toEqual([]); + expect(violations).toStrictEqual([]); expect(jsonOutput.exitCode).toBe(0); expect(jsonOutput.stderr).toBe(""); - expect(jsonOutput.json).toEqual([]); + expect(jsonOutput.json).toStrictEqual([]); }); it("keeps web search provider boundary inventory empty, core-only, and sorted", async () => { const inventory = await webSearchInventoryPromise; const jsonOutput = await webSearchJsonOutputPromise; - expect(inventory).toEqual([]); + expect(inventory).toStrictEqual([]); expect( [...inventory].toSorted( (left, right) => @@ -53,6 +53,6 @@ describe("web provider boundaries", () => { ).toEqual(inventory); expect(jsonOutput.exitCode).toBe(0); expect(jsonOutput.stderr).toBe(""); - expect(jsonOutput.json).toEqual([]); + expect(jsonOutput.json).toStrictEqual([]); }); });