import { describe, it, expect } from "vitest";
import {
checkImportsHandler,
lintCodeHandler,
formatCodeHandler,
} from "./linting.js";
describe("Linting Tools", () => {
describe("checkImportsHandler", () => {
it("should detect wildcards in TS", () => {
const code = "import * as fs;";
const result = checkImportsHandler({ code, language: "typescript" });
expect(result.content[0].text).toContain("Invalid wildcard");
});
it("should detect deep relative imports", () => {
const code = "import x from '../../../../utils';";
const result = checkImportsHandler({ code, language: "typescript" });
expect(result.content[0].text).toContain("Deep relative import");
});
});
describe("lintCodeHandler", () => {
it("should detect console.log", () => {
const code = "const x = 1;\nconsole.log(x);";
const result = lintCodeHandler({ code, language: "typescript" });
expect(result.content[0].text).toContain("console.log found");
});
it("should detect var usage", () => {
const code = "var x = 1;";
const result = lintCodeHandler({ code, language: "javascript" });
expect(result.content[0].text).toContain("Use 'let' or 'const'");
});
});
describe("formatCodeHandler", () => {
it("should format code", () => {
const code = "function test() { } ";
const result = formatCodeHandler({
code,
language: "typescript",
indent: 2,
});
expect(result.content[0].text).toContain("Removed trailing whitespace");
});
});
});