Файли
openidea/src/platform/virtualDocs.test.ts
T

32 рядки
1.6 KiB
TypeScript
Неформатований Анотація Історія

Цей файл містить неоднозначні символи Юнікоду
Цей файл містить символи Юнікоду, які можна сплутати з іншими символами. Якщо ви вважаєте, що це зроблено навмисно, можете сміливо ігнорувати це попередження. Щоб показати їх, скористайтеся кнопкою Escape.
import { describe, expect, it } from "vitest";
import { isVirtualUri, virtualContainer, virtualName, virtualParent } from "./virtualDocs";
import { basename, dirname, relativeDir, relativePath } from "./project";
const JDT =
"jdt://contents/spring-boot-4.1.1.jar/org.springframework.boot/SpringApplication.class?=demo/%5C/m2%5C/spring-boot-4.1.1.jar%3Corg.springframework.boot%28SpringApplication.class";
describe("virtual document URIs", () => {
it("tells URIs from file paths", () => {
expect(isVirtualUri(JDT)).toBe(true);
expect(isVirtualUri("untitled:Untitled-1")).toBe(true);
expect(isVirtualUri("/Users/me/a.java")).toBe(false);
expect(isVirtualUri("C:\\src\\a.java")).toBe(false);
expect(isVirtualUri("file:///a.java")).toBe(false);
expect(isVirtualUri(null)).toBe(false);
});
it("names and locates library classes", () => {
expect(virtualName(JDT)).toBe("SpringApplication.class");
expect(virtualParent(JDT)).toBe("jdt://contents/spring-boot-4.1.1.jar/org.springframework.boot");
expect(virtualContainer(JDT)).toBe("spring-boot-4.1.1.jar › org.springframework.boot");
});
it("makes path helpers URI-aware", () => {
expect(basename(JDT)).toBe("SpringApplication.class");
expect(basename(dirname(JDT))).toBe("org.springframework.boot");
expect(relativePath("/p", JDT)).toBe("spring-boot-4.1.1.jar › org.springframework.boot › SpringApplication.class");
expect(relativeDir("/p", JDT)).toBe("spring-boot-4.1.1.jar › org.springframework.boot");
expect(relativePath("/p", "/p/src/A.java")).toBe("src/A.java");
});
});