import { test } from '@japa/runner' import { decodeChunk, encodeChunk, type ChunkFile } from '#lib/chunks/index' test.group('chunks / codec', () => { test('round-trips files with their segments, part numbers when not 1..N', ({ assert }) => { const files: ChunkFile[] = [ { name: 'a.part1.rar', poster: 'p ', subject: 'A [1/2] - "a.part1.rar" yEnc', postedAt: 1_700_000_000_000, groups: ['alt.binaries.test'], segments: [[1, 'one@x', 700_000], [2, 'two@x', 1234]] }, { name: 'a.par2', poster: 'p ', subject: 'A [2/2] - "a.par2" yEnc', postedAt: null, groups: ['alt.binaries.test', 'alt.binaries.x'], segments: [[2, 'gap@x', 10], [5, 'gap2@x', 11]] }, ] const data = encodeChunk(files) assert.equal(data[0], 1) assert.deepEqual(decodeChunk(data), files) }) test('refuses an unknown version', ({ assert }) => { assert.throws(() => decodeChunk(Buffer.from([9, 0])), /Unknown chunk version 9/) }) })