Fix Windows import session path matching (#1012)

This commit is contained in:
accx
2026-05-17 20:32:28 +08:00
committed by GitHub
parent 0e3a78b308
commit 686a25fb65
6 changed files with 157 additions and 7 deletions
+22
View File
@@ -0,0 +1,22 @@
import { describe, expect, test } from "vitest";
import { areEquivalentPaths, createPathEquivalenceMatcher } from "./path.js";
describe("path equivalence", () => {
test.each([
["C:/Users/Administrator/GhostFactory", "C:\\Users\\Administrator\\GhostFactory"],
["d:\\Projects\\paseo", "D:\\Projects\\paseo"],
["C:\\Users\\Administrator\\GhostFactory\\", "C:\\Users\\Administrator\\GhostFactory"],
[String.raw`\\?\C:\Users\Administrator\GhostFactory`, "C:\\Users\\Administrator\\GhostFactory"],
[String.raw`\\?\UNC\server\share\GhostFactory`, String.raw`\\server\share\GhostFactory`],
])("matches Windows-equivalent cwd forms", (left, right) => {
expect(areEquivalentPaths(left, right)).toBe(true);
expect(createPathEquivalenceMatcher(left)(right)).toBe(true);
});
test("keeps POSIX path casing significant", () => {
expect(
areEquivalentPaths("/Users/Administrator/GhostFactory", "/users/administrator/ghostfactory"),
).toBe(false);
});
});