| … | … | @@ -0,0 +1,27 @@ |
| 1 | import test from 'brittle' |
| 2 | import { parseRange } from '../../lib/media-store.js' |
| 3 | |
| 4 | test('parseRange - parses "bytes=0-499"', async (t) => { |
| 5 | const range = parseRange('bytes=0-499', 1000) |
| 6 | t.is(range.start, 0) |
| 7 | t.is(range.end, 499) |
| 8 | }) |
| 9 | |
| 10 | test('parseRange - parses "bytes=500-" (open end)', async (t) => { |
| 11 | const range = parseRange('bytes=500-', 1000) |
| 12 | t.is(range.start, 500) |
| 13 | t.is(range.end, 999) |
| 14 | }) |
| 15 | |
| 16 | test('parseRange - parses "bytes=-200" (suffix)', async (t) => { |
| 17 | const range = parseRange('bytes=-200', 1000) |
| 18 | t.is(range.start, 800) |
| 19 | t.is(range.end, 999) |
| 20 | }) |
| 21 | |
| 22 | test('parseRange - returns null for invalid range', async (t) => { |
| 23 | t.is(parseRange('invalid', 1000), null) |
| 24 | t.is(parseRange(undefined, 1000), null) |
| 25 | t.is(parseRange('bytes=500-200', 1000), null) // start > end |
| 26 | t.is(parseRange('bytes=0-1500', 1000), null) // end >= totalSize |
| 27 | }) |