import { describe, expect, it } from 'vitest';
import { parseLatexDiagnostics } from '../diagnostics';

describe('parseLatexDiagnostics', () => {
  it('extracts errors, source lines, warnings and box diagnostics', () => {
    const diagnostics = parseLatexDiagnostics('(./main.tex\n! Undefined control sequence.\nl.12 \\badcommand\nLaTeX Warning: There were undefined references.\nOverfull \\hbox (4.2pt too wide) in paragraph at lines 20--22');
    expect(diagnostics.some((item) => item.severity === 'error' && item.line === 12)).toBe(true);
    expect(diagnostics.some((item) => item.code === 'undefined-reference')).toBe(true);
    expect(diagnostics.some((item) => item.code === 'box-warning')).toBe(true);
  });
});
