From a38e62375373d734c9ae1b06f1446f713b217346 Mon Sep 17 00:00:00 2001 From: minhn4 Date: Tue, 14 Jul 2026 08:44:23 +0700 Subject: [PATCH] test(core): fix Windows path separator sort in search test The empty-query search test sorted the received entries but compared against a fixed-order expected array. On Windows directory entries carry a backslash separator (0x5C) which sorts after the forward slash (0x2F) in file paths, so the received order differed from the hardcoded expected order and the test failed. Sort the expected array too for a platform-independent comparison. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/core/test/filesystem/search.test.ts | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/core/test/filesystem/search.test.ts b/packages/core/test/filesystem/search.test.ts index 8d25e3a1ac..24ed52eb4c 100644 --- a/packages/core/test/filesystem/search.test.ts +++ b/packages/core/test/filesystem/search.test.ts @@ -81,11 +81,15 @@ describe("FileSystemSearch ripgrep fallback", () => { yield* Effect.promise(() => fs.writeFile(path.join(cwd, "src", "match.ts"), "needle\n")) yield* Effect.promise(() => fs.writeFile(path.join(cwd, "README.md"), "# readme\n")) const entries = yield* findSettled("") - expect(entries.map((entry) => entry.path).sort()).toEqual([ - RelativePath.make("README.md"), - RelativePath.make("src" + path.sep), - RelativePath.make("src/match.ts"), - ]) + // Directory entries carry the OS path separator while ripgrep returns files + // with forward slashes, so sort both sides for a platform-independent compare. + expect(entries.map((entry) => entry.path).sort()).toEqual( + [ + RelativePath.make("README.md"), + RelativePath.make("src" + path.sep), + RelativePath.make("src/match.ts"), + ].sort(), + ) expect(entries.find((entry) => entry.path === "src" + path.sep)?.type).toBe("directory") }).pipe(Effect.provide(searchLayer(cwd))), ),