forked from dmonad/lib0
-
Notifications
You must be signed in to change notification settings - Fork 0
/
url.test.js
26 lines (23 loc) · 954 Bytes
/
url.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import * as t from './testing.js'
import * as url from './url.js'
/**
* @param {Object<string,any>} params
*/
const paramTest = params => {
const out = url.decodeQueryParams(url.encodeQueryParams(params))
t.compareObjects(params, out, 'Compare params')
}
/**
* @param {t.TestCase} tc
*/
export const testUrlParamQuery = tc => {
paramTest({})
paramTest({ a: '4' })
paramTest({ a: 'dtrn', b: '0x0' })
t.compareObjects({ }, url.decodeQueryParams('http://localhost:8080/dtrn?'))
t.compareObjects({ a: 'ay' }, url.decodeQueryParams('http://localhost:8080/dtrn?a=ay'))
t.compareObjects({ a: '' }, url.decodeQueryParams('http://localhost:8080/dtrn?a='))
t.compareObjects({ a: '' }, url.decodeQueryParams('http://localhost:8080/dtrn?a'))
t.compareObjects({ a: 'ay' }, url.decodeQueryParams('http://localhost:8080/dtrn?a=ay&'))
t.compareObjects({ a: 'ay', b: 'bey' }, url.decodeQueryParams('http://localhost:8080/dtrn?a=ay&b=bey'))
}