import { parseYouTube, formatYouTube } from './edlFormats'; it('parseYoutube', () => { const str = ` Jump to chapters: 0:00 00:01 Test 1 00:01 "Test 2": 00:02 00:57 double 00:01:01 Test 3 01:01:01.012 Test 4 00:01:01.012 Test 5 01:01.012 Test 6 :01:02.012 Test 7 00:57:01.0123 Invalid 2 00:57:01. Invalid 3 01:15: Invalid 4 0132 Invalid 5 00:03 00:04 00:05 `; const edl = parseYouTube(str); expect(edl).toEqual([ { start: 0, end: 1, name: '00:01 Test 1' }, { start: 1, end: 2, name: '"Test 2":' }, { start: 2, end: 4, name: '00:57 double' }, { start: 4, end: 5, name: '' }, { start: 5, end: 61, name: '' }, { start: 61, end: 61.012, name: 'Test 3' }, { start: 61.012, end: 62.012, name: 'Test 6' }, { start: 62.012, end: 3661.012, name: 'Test 7' }, { start: 3661.012, end: undefined, name: 'Test 4' }, ]); }); it('parseYouTube eol', () => { const str = ' 00:00 Test 1\n00:01 Test 2'; const edl = parseYouTube(str); expect(edl).toEqual([ { start: 0, end: 1, name: 'Test 1' }, { start: 1, end: undefined, name: 'Test 2' }, ]); }); it('formatYouTube', () => { expect(formatYouTube([ { start: 1, end: 2, name: 'Label 🎉' }, { start: 3, end: 5 }, { start: 10000, end: 10001, name: '' }, ]).split('\n')).toEqual([ '0:01 Label 🎉', '0:03', '2:46:40', ]); expect(formatYouTube([ { start: 0, end: 100 }, ]).split('\n')).toEqual([ '0:00', ]); });