This commit is contained in:
Robert 2024-06-13 11:03:37 +00:00
Родитель 12555d90c1
Коммит 10f4b47019
1 изменённых файлов: 0 добавлений и 96 удалений

Просмотреть файл

@ -1,96 +0,0 @@
import { platform } from "os";
import type { BaseLogger } from "../../../src/common/logging";
import { expandShortPaths } from "../../../src/common/short-paths";
import { join } from "path";
describe("expandShortPaths", () => {
let logger: BaseLogger;
beforeEach(() => {
logger = {
log: jest.fn(),
};
});
describe("on POSIX", () => {
if (platform() === "win32") {
console.log(`Skipping test on Windows`);
return;
}
it("should return the same path for non-Windows platforms", async () => {
const path = "/home/user/some~path";
const result = await expandShortPaths(path, logger);
expect(logger.log).not.toHaveBeenCalled();
expect(result).toBe(path);
});
});
describe("on Windows", () => {
if (platform() !== "win32") {
console.log(`Skipping test on non-Windows`);
return;
}
it("should return the same path if no short components", async () => {
const path = "C:\\Program Files\\Some Folder";
const result = await expandShortPaths(path, logger);
expect(logger.log).toHaveBeenCalledWith(
`Expanding short paths in: ${path}`,
);
expect(logger.log).toHaveBeenCalledWith(
"Skipping due to no short components",
);
expect(result).toBe(path);
});
it("should not attempt to expand long paths with '~' in the name", async () => {
const testDir = join(__dirname, "../data/short-paths");
const path = join(testDir, "textfile-with~tilde.txt");
const result = await expandShortPaths(path, logger);
expect(logger.log).toHaveBeenCalledWith(
`Expanding short paths in: ${path}`,
);
expect(logger.log).toHaveBeenCalledWith(
`Expanding short path component: textfile-with~tilde.txt`,
);
expect(logger.log).toHaveBeenCalledWith(`Component is not a short name`);
expect(result).toBe(join(testDir, "textfile-with~tilde.txt"));
});
it("should expand a short path", async () => {
const path = "C:\\PROGRA~1\\Some Folder";
const result = await expandShortPaths(path, logger);
expect(logger.log).toHaveBeenCalledWith(
`Expanding short paths in: ${path}`,
);
expect(logger.log).toHaveBeenCalledWith(
`Expanding short path component: PROGRA~1`,
);
expect(result).toBe("C:\\Program Files\\Some Folder");
});
it("should expand multiple short paths", async () => {
const testDir = join(__dirname, "../data/short-paths");
const path = join(testDir, "FOLDER~1", "TEXTFI~1.TXT");
const result = await expandShortPaths(path, logger);
expect(logger.log).toHaveBeenCalledWith(
`Expanding short paths in: ${path}`,
);
expect(logger.log).toHaveBeenCalledWith(
`Expanding short path component: FOLDER~1`,
);
expect(logger.log).toHaveBeenCalledWith(
`Expanding short path component: TEXTFI~1.TXT`,
);
expect(result).toBe(
join(testDir, "folder with space", ".textfile+extra.characters.txt"),
);
});
});
});