import { describe, expect, it } from "vitest"; import { languageIdFor } from "./language.js"; describe("languageIdFor", () => { it("maps Kotlin extensions", () => { expect(languageIdFor("src/Main.kt")).toBe("kotlin"); expect(languageIdFor("script.kts")).toBe("kotlin"); }); it("maps TypeScript, Rust, Python and Go", () => { expect(languageIdFor("a.ts")).toBe("typescript"); expect(languageIdFor("a.tsx")).toBe("typescriptreact"); expect(languageIdFor("lib.rs")).toBe("rust"); expect(languageIdFor("main.py")).toBe("python"); expect(languageIdFor("main.go")).toBe("go"); }); it("falls back to plaintext for unknown extensions", () => { expect(languageIdFor("a.xyz")).toBe("plaintext"); }); it("falls back to plaintext for files without an extension", () => { expect(languageIdFor("Makefile")).toBe("plaintext"); }); it("uses the last extension for dotted paths", () => { expect(languageIdFor("component.test.ts")).toBe("typescript"); }); });