You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.5 KiB
49 lines
1.5 KiB
import { describe, it, expect } from "vitest";
|
|
import { normalizeSelectedPath } from "../route";
|
|
|
|
describe("normalizeSelectedPath", () => {
|
|
it("should strip hostname prefix on macOS", () => {
|
|
expect(normalizeSelectedPath("AT-ALGKG9VR/Users/guy/Desktop", "darwin"))
|
|
.toBe("/Users/guy/Desktop");
|
|
});
|
|
|
|
it("should preserve absolute paths on macOS", () => {
|
|
expect(normalizeSelectedPath("/Users/guy/Desktop", "darwin"))
|
|
.toBe("/Users/guy/Desktop");
|
|
});
|
|
|
|
it("should remove trailing slash", () => {
|
|
expect(normalizeSelectedPath("/Users/guy/Desktop/", "darwin"))
|
|
.toBe("/Users/guy/Desktop");
|
|
});
|
|
|
|
it("should strip hostname and trailing slash", () => {
|
|
expect(normalizeSelectedPath("HOST/Users/guy/", "darwin"))
|
|
.toBe("/Users/guy");
|
|
});
|
|
|
|
it("should strip hostname prefix on Linux", () => {
|
|
expect(normalizeSelectedPath("hostname/home/user", "linux"))
|
|
.toBe("/home/user");
|
|
});
|
|
|
|
it("should not modify Windows drive paths", () => {
|
|
expect(normalizeSelectedPath("C:\\Users\\guy", "win32"))
|
|
.toBe("C:\\Users\\guy");
|
|
});
|
|
|
|
it("should preserve Windows drive root", () => {
|
|
expect(normalizeSelectedPath("C:\\", "win32"))
|
|
.toBe("C:\\");
|
|
});
|
|
|
|
it("should preserve Unix root /", () => {
|
|
expect(normalizeSelectedPath("/", "darwin"))
|
|
.toBe("/");
|
|
});
|
|
|
|
it("should leave hostname-only (no slash) as-is", () => {
|
|
expect(normalizeSelectedPath("HOSTNAME", "darwin"))
|
|
.toBe("HOSTNAME");
|
|
});
|
|
});
|
|
|