mirror of
https://github.com/lifegpc/eh-downloader.git
synced 2026-06-06 13:48:51 +08:00
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import { assert, assertEquals } from "std/assert/mod.ts";
|
|
import { parse_range } from "./range_parser.ts";
|
|
|
|
Deno.test("parse_range_test", () => {
|
|
let r = parse_range(200, "bytes=1-30, 50-70");
|
|
assert(typeof r !== "number");
|
|
assertEquals(r.type, "bytes");
|
|
assertEquals(r.slice(0), [{ start: 1, end: 30 }, { start: 50, end: 70 }]);
|
|
r = parse_range(100, "bytes=20-,50-");
|
|
assert(typeof r !== "number");
|
|
assertEquals(r.type, "bytes");
|
|
assertEquals(r.slice(0), [{ start: 20, end: 99 }, { start: 50, end: 99 }]);
|
|
r = parse_range(100, "bytes=-3");
|
|
assert(typeof r !== "number");
|
|
assertEquals(r.type, "bytes");
|
|
assertEquals(r.slice(0), [{ start: 97, end: 99 }]);
|
|
r = parse_range(100, "bytes=-10,1-30, 70-96");
|
|
assert(typeof r !== "number");
|
|
assertEquals(r.type, "bytes");
|
|
assertEquals(r.slice(0), [
|
|
{ start: 90, end: 99 },
|
|
{ start: 1, end: 30 },
|
|
{ start: 70, end: 96 },
|
|
]);
|
|
r = parse_range(100, "bytes=-10,1-30,70-96", true);
|
|
assert(typeof r !== "number");
|
|
assertEquals(r.type, "bytes");
|
|
assertEquals(r.slice(0), [{ start: 70, end: 99 }, { start: 1, end: 30 }]);
|
|
});
|