from pathlib import Path from scripts.adapters.tsc import parse_tsc_output _FIXTURES = Path(__file__).parent / "fixtures" def test_parses_error_lines(): txt = (_FIXTURES / "tsc_sample.txt").read_text() findings = parse_tsc_output(txt) by_file = {f.file: f for f in findings} assert "src/auth.ts" in by_file assert by_file["src/auth.ts"].line == 22 assert by_file["src/auth.ts"].rule_id == "TS2322" assert by_file["src/auth.ts"].severity == "medium" def test_handles_empty(): assert parse_tsc_output("") == [] def test_handles_malformed_lines(): assert parse_tsc_output("not a tsc line\n") == []