import { describe, expect, it } from 'vitest'; import { detectSubtitleType, isProbablyText, validateAss, validateSrt } from '../src/lib/validators.js'; describe('subtitle validators', () => { it('validates srt content', () => { const srt = `1\n00:00:01,000 --> 00:00:02,000\na\n\n2\n00:00:03,000 --> 00:00:04,000\nb\n\n3\n00:00:05,000 --> 00:00:06,000\nc\n`; expect(validateSrt(srt)).toBe(true); expect(detectSubtitleType(srt)).toBe('srt'); }); it('validates ass content', () => { const ass = `[Script Info]\n[Events]\nDialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,x`; expect(validateAss(ass)).toBe(true); expect(detectSubtitleType(ass)).toBe('ass'); }); it('rejects binary for text detector', () => { const b = Buffer.from([0, 255, 3, 0, 9]); expect(isProbablyText(b)).toBe(false); }); });