import { describe, test, expect } from "vitest"; import { typecheckDTS } from "./typecheck"; describe("typecheckDTS", () => { test("passes valid .d.ts", async () => { const content = ` export declare class Bucket { readonly type: string; readonly bucketName?: string; } `; const result = await typecheckDTS(content); expect(result.ok).toBe(true); expect(result.diagnostics).toHaveLength(0); }); test("fails on undefined type reference", async () => { const content = ` export declare class Broken { readonly value: UndefinedType; } `; const result = await typecheckDTS(content); expect(result.ok).toBe(false); expect(result.diagnostics.length).toBeGreaterThan(0); }); test("fails on syntax error", async () => { const content = ` export declare class { this is not valid typescript } `; const result = await typecheckDTS(content); expect(result.ok).toBe(false); }); });