summaryrefslogtreecommitdiff
path: root/tests/U_tests.json
blob: bf8d1290a3ab7a660182ccf190d6cddfaa529b00 (plain)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[

	{
		"args": ["/foo.html", {"bar": {"gna": 42, "qux": {"quux": "<Zürich>", "gnöp": "fasel"}}}],
		"exp":  "/foo.html?bar[gna]=42&bar[qux][quux]=%3CZ%C3%BCrich%3E&bar[qux][gn%C3%B6p]=fasel",
		"name": "U() with nested arrays"
	},

	{
		"args": ["/foo.html?a=b&bar=qux&c=d", {"bar": "baz"}],
		"exp":  "/foo.html?a=b&bar=baz&c=d",
		"name": "U() args override get params in base url"
	},

	{
		"args": ["/foo.html?bar.qux=a.b", {"c.d": "e.f", "g h": "i j"}],
		"exp":  "/foo.html?bar.qux=a.b&c.d=e.f&g+h=i+j",
		"name": "U() dots and spaces in arg names are preserved"
	},

	{
		"args": ["/foo.html?bar=qux#frag=frog", {"baz": "gna"}],
		"exp":  "/foo.html?bar=qux&baz=gna#frag=frog",
		"name": "U() fragment after params"
	},

	{
		"args": ["Jet d'eau"],
		"exp":  "Jet%20d%27eau",
		"name": "U() with single quotes in URL"
	},

	{
		"args": ["/test.html?foo=bar?qux=gna", {"?q": "?r"}],
		"exp":  "/test.html?foo=bar%3Fqux%3Dgna&%3Fq=%3Fr",
		"name": "U() quoting of ? in args but not base"
	},

	{
		"args": ["%% %1%x %1x%x1%xx%11%ff%FF"],
		"exp":  "%25%25%20%251%25x%20%251x%25x1%25xx%11%ff%FF",
		"name": "U() quoting of % if not followed by 2 hex digits"
	},

	{
		"args": ["a\\b"],
		"exp":  "a/b",
		"name": "U() converting of \\ to /"
	}
]