1 IN: urls.encoding.tests
2 USING: urls.encoding tools.test arrays kernel assocs present accessors ;
4 [ "~hello world" ] [ "%7ehello world" url-decode ] unit-test
5 [ "" ] [ "%XX%XX%XX" url-decode ] unit-test
6 [ "" ] [ "%XX%XX%X" url-decode ] unit-test
8 [ "hello world" ] [ "hello%20world" url-decode ] unit-test
9 [ " ! " ] [ "%20%21%20" url-decode ] unit-test
10 [ "hello world" ] [ "hello world%" url-decode ] unit-test
11 [ "hello world" ] [ "hello world%x" url-decode ] unit-test
12 [ "hello%20world" ] [ "hello world" url-encode ] unit-test
14 [ "~foo" ] [ "~foo" url-encode ] unit-test
15 [ "~foo" ] [ "~foo" url-encode-full ] unit-test
17 [ ":foo" ] [ ":foo" url-encode ] unit-test
18 [ "%3Afoo" ] [ ":foo" url-encode-full ] unit-test
20 [ "hello world" ] [ "hello+world" query-decode ] unit-test
22 [ "\u001234hi\u002045" ] [ "\u001234hi\u002045" url-encode url-decode ] unit-test
24 [ "a=b&a=c" ] [ { { "a" { "b" "c" } } } assoc>query ] unit-test
26 [ H{ { "a" "b" } } ] [ "a=b" query>assoc ] unit-test
28 [ H{ { "a" { "b" "c" } } } ] [ "a=b&a=c" query>assoc ] unit-test
30 [ H{ { "a" { "b" "c" } } } ] [ "a=b;a=c" query>assoc ] unit-test
32 [ H{ { "text" "hello world" } } ] [ "text=hello+world" query>assoc ] unit-test
34 [ "foo=%3A" ] [ { { "foo" ":" } } assoc>query ] unit-test
36 [ "a=3" ] [ { { "a" 3 } } assoc>query ] unit-test
38 [ "a" ] [ { { "a" f } } assoc>query ] unit-test
40 [ H{ { "a" f } } ] [ "a" query>assoc ] unit-test