MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1function assert(condition, message) {
2 if (!condition) throw new Error(message);
3}
4
5const input = 'https://e621.net/pools.json?search[id]=14032,20025,26727';
6
7const url = new URL(input);
8assert(url.href === input, `expected href to preserve bracketed query, got ${url.href}`);
9assert(url.search === '?search[id]=14032,20025,26727', `unexpected search: ${url.search}`);
10assert(
11 url.searchParams.get('search[id]') === '14032,20025,26727',
12 `unexpected search param value: ${url.searchParams.get('search[id]')}`
13);
14
15assert(URL.canParse(input) === true, 'expected URL.canParse to accept bracketed query URL');
16
17const parsed = URL.parse(input);
18assert(parsed !== null, 'expected URL.parse to return a URL object');
19assert(parsed.href === input, `expected URL.parse href to preserve bracketed query, got ${parsed.href}`);
20
21const request = new Request(input);
22assert(request.url === input, `expected Request.url to preserve bracketed query, got ${request.url}`);
23
24console.log('url bracket query test passed');