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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
{
"Test Suite 1" :
{
"variables": {
"var" : "value",
"hello" : "Hello World!",
"empty" : "",
"list" : [ "val1", "val2", "val3" ],
"keys" : {"key1": "val1", "key2": "val2"},
"path" : "/foo/bar",
"x" : "1024",
"y" : "768"
},
"testcases" : [
["{var}", "value"],
["{hello}", "Hello%20World%21"],
["{path}/here", "%2Ffoo%2Fbar/here"],
["{x,y}", "1024,768"],
["{var=default}", "value"],
["{undef=default}", "default"],
["{list}", "val1,val2,val3"],
["{list*}", "val1,val2,val3"],
["{list+}", "list.val1,list.val2,list.val3"],
["{keys}", "key1,val1,key2,val2"],
["{keys*}", "key1,val1,key2,val2"],
["{keys+}", "keys.key1,val1,keys.key2,val2"],
["{+var}", "value"],
["{+hello}", "Hello%20World!"],
["{+path}/here", "/foo/bar/here"],
["{+path,x}/here", "/foo/bar,1024/here"],
["{+path}{x}/here", "/foo/bar1024/here"],
["{+empty}/here", "/here"],
["{+undef}/here", "/here"],
["{+list}", "val1,val2,val3"],
["{+list*}", "val1,val2,val3"],
["{+list+}", "list.val1,list.val2,list.val3"],
["{+keys}", "key1,val1,key2,val2"],
["{+keys*}", "key1,val1,key2,val2"],
["{+keys+}", "keys.key1,val1,keys.key2,val2"],
["{;x,y}", ";x=1024;y=768"],
["{;x,y,empty}", ";x=1024;y=768;empty"],
["{;x,y,undef}", ";x=1024;y=768"],
["{;list}", ";val1,val2,val3"],
["{;list*}", ";val1;val2;val3"],
["{;list+}", ";list=val1;list=val2;list=val3"],
["{;keys}", ";key1,val1,key2,val2"],
["{;keys*}", ";key1=val1;key2=val2"],
["{;keys+}", ";keys.key1=val1;keys.key2=val2"],
["{?x,y}", "?x=1024&y=768"],
["{?x,y,empty}", "?x=1024&y=768&empty"],
["{?x,y,undef}", "?x=1024&y=768"],
["{?list}", "?list=val1,val2,val3"],
["{?list*}", "?val1&val2&val3"],
["{?list+}", "?list=val1&list=val2&list=val3"],
["{?keys}", "?keys=key1,val1,key2,val2"],
["{?keys*}", "?key1=val1&key2=val2"],
["{?keys+}", "?keys.key1=val1&keys.key2=val2"],
["{/var}", "/value"],
["{/var,empty}", "/value/"],
["{/var,undef}", "/value"],
["{/list}", "/val1,val2,val3"],
["{/list*}", "/val1/val2/val3"],
["{/list*,x}", "/val1/val2/val3/1024"],
["{/list+}", "/list.val1/list.val2/list.val3"],
["{/keys}", "/key1,val1,key2,val2"],
["{/keys*}", "/key1/val1/key2/val2"],
["{/keys+}", "/keys.key1/val1/keys.key2/val2"],
["X{.var}", "X.value"],
["X{.empty}", "X"],
["X{.undef}", "X"],
["X{.list}", "X.val1,val2,val3"],
["X{.list*}", "X.val1.val2.val3"],
["X{.list*,x}", "X.val1.val2.val3.1024"],
["X{.list+}", "X.list.val1.list.val2.list.val3"],
["X{.keys}", "X.key1,val1,key2,val2"],
["X{.keys*}", "X.key1.val1.key2.val2"],
["X{.keys+}", "X.keys.key1.val1.keys.key2.val2"]
]
},
"Test Suite 2" :
{
"variables": {
"var" : "value",
"empty" : "",
"name" : [ "Fred", "Wilma", "Pebbles" ],
"favs" : {"color":"red", "volume": "high"},
"empty_list" : [],
"empty_keys" : {}
},
"testcases" : [
["{var=default}", "value"],
["{undef=default}", "default"],
["x{empty}y", "xy"],
["x{empty=_}y", "xy"],
["x{undef}y", "xy"],
["x{undef=_}y", "x_y"],
["x{empty_list}y", "xy"],
["x{empty_list=_}y", "x_y"],
["x{empty_list*}y", "xy"],
["x{empty_list*=_}y", "x_y"],
["x{empty_list+}y", "xy"],
["x{empty_list+=_}y", "x_y"],
["x{empty_keys}y", "xy"],
["x{empty_keys=_}y", "x_y"],
["x{empty_keys*}y", "xy"],
["x{empty_keys*=_}y", "x_y"],
["x{empty_keys+}y", "xy"],
["x{empty_keys+=_}y", "x_y"],
["x{?name=none}", "x?name=Fred,Wilma,Pebbles"],
["x{?favs=none}", "x?favs=color,red,volume,high"],
["x{?favs*=none}", "x?color=red&volume=high"],
["x{?favs+=none}", "x?favs.color=red&favs.volume=high"],
["x{?undef}", "x"],
["x{?undef=none}", "x?undef=none"],
["x{?empty}", "x?empty"],
["x{?empty=none}", "x?empty"],
["x{?empty_list}", "x"],
["x{?empty_list=none}", "x?empty_list=none"],
["x{?empty_list*}", "x"],
["x{?empty_list*=none}", "x?empty_list=none"],
["x{?empty_list+}", "x"],
["x{?empty_list+=none}", "x?empty_list=none"],
["x{?empty_keys}", "x"],
["x{?empty_keys=none}", "x?empty_keys=none"],
["x{?empty_keys*}", "x"],
["x{?empty_keys*=none}", "x?empty_keys=none"],
["x{?empty_keys+}", "x"],
["x{?empty_keys+=none}", "x?empty_keys=none"]
]
}
}
|