|
{
|
|
"Level 1 Examples" :
|
|
{
|
|
"level": 1,
|
|
"variables": {
|
|
"var" : "value",
|
|
"hello" : "Hello World!"
|
|
},
|
|
"testcases" : [
|
|
["{var}", "value"],
|
|
["{hello}", "Hello%20World%21"]
|
|
]
|
|
},
|
|
"Level 2 Examples" :
|
|
{
|
|
"level": 2,
|
|
"variables": {
|
|
"var" : "value",
|
|
"hello" : "Hello World!",
|
|
"path" : "/foo/bar"
|
|
},
|
|
"testcases" : [
|
|
["{+var}", "value"],
|
|
["{+hello}", "Hello%20World!"],
|
|
["{+path}/here", "/foo/bar/here"],
|
|
["here?ref={+path}", "here?ref=/foo/bar"]
|
|
]
|
|
},
|
|
"Level 3 Examples" :
|
|
{
|
|
"level": 3,
|
|
"variables": {
|
|
"var" : "value",
|
|
"hello" : "Hello World!",
|
|
"empty" : "",
|
|
"path" : "/foo/bar",
|
|
"x" : "1024",
|
|
"y" : "768"
|
|
},
|
|
"testcases" : [
|
|
["map?{x,y}", "map?1024,768"],
|
|
["{x,hello,y}", "1024,Hello%20World%21,768"],
|
|
["{+x,hello,y}", "1024,Hello%20World!,768"],
|
|
["{+path,x}/here", "/foo/bar,1024/here"],
|
|
["{#x,hello,y}", "#1024,Hello%20World!,768"],
|
|
["{#path,x}/here", "#/foo/bar,1024/here"],
|
|
["X{.var}", "X.value"],
|
|
["X{.x,y}", "X.1024.768"],
|
|
["{/var}", "/value"],
|
|
["{/var,x}/here", "/value/1024/here"],
|
|
["{;x,y}", ";x=1024;y=768"],
|
|
["{;x,y,empty}", ";x=1024;y=768;empty"],
|
|
["{?x,y}", "?x=1024&y=768"],
|
|
["{?x,y,empty}", "?x=1024&y=768&empty="],
|
|
["?fixed=yes{&x}", "?fixed=yes&x=1024"],
|
|
["{&x,y,empty}", "&x=1024&y=768&empty="]
|
|
]
|
|
},
|
|
"Level 4 Examples" :
|
|
{
|
|
"level": 4,
|
|
"variables": {
|
|
"var": "value",
|
|
"hello": "Hello World!",
|
|
"path": "/foo/bar",
|
|
"list": ["red", "green", "blue"],
|
|
"keys": {"semi": ";", "dot": ".", "comma":","}
|
|
},
|
|
"testcases": [
|
|
["{var:3}", "val"],
|
|
["{var:30}", "value"],
|
|
["{list}", "red,green,blue"],
|
|
["{list*}", "red,green,blue"],
|
|
["{keys}", [
|
|
"comma,%2C,dot,.,semi,%3B",
|
|
"comma,%2C,semi,%3B,dot,.",
|
|
"dot,.,comma,%2C,semi,%3B",
|
|
"dot,.,semi,%3B,comma,%2C",
|
|
"semi,%3B,comma,%2C,dot,.",
|
|
"semi,%3B,dot,.,comma,%2C"
|
|
]],
|
|
["{keys*}", [
|
|
"comma=%2C,dot=.,semi=%3B",
|
|
"comma=%2C,semi=%3B,dot=.",
|
|
"dot=.,comma=%2C,semi=%3B",
|
|
"dot=.,semi=%3B,comma=%2C",
|
|
"semi=%3B,comma=%2C,dot=.",
|
|
"semi=%3B,dot=.,comma=%2C"
|
|
]],
|
|
["{+path:6}/here", "/foo/b/here"],
|
|
["{+list}", "red,green,blue"],
|
|
["{+list*}", "red,green,blue"],
|
|
["{+keys}", [
|
|
"comma,,,dot,.,semi,;",
|
|
"comma,,,semi,;,dot,.",
|
|
"dot,.,comma,,,semi,;",
|
|
"dot,.,semi,;,comma,,",
|
|
"semi,;,comma,,,dot,.",
|
|
"semi,;,dot,.,comma,,"
|
|
]],
|
|
["{+keys*}", [
|
|
"comma=,,dot=.,semi=;",
|
|
"comma=,,semi=;,dot=.",
|
|
"dot=.,comma=,,semi=;",
|
|
"dot=.,semi=;,comma=,",
|
|
"semi=;,comma=,,dot=.",
|
|
"semi=;,dot=.,comma=,"
|
|
]],
|
|
["{#path:6}/here", "#/foo/b/here"],
|
|
["{#list}", "#red,green,blue"],
|
|
["{#list*}", "#red,green,blue"],
|
|
["{#keys}", [
|
|
"#comma,,,dot,.,semi,;",
|
|
"#comma,,,semi,;,dot,.",
|
|
"#dot,.,comma,,,semi,;",
|
|
"#dot,.,semi,;,comma,,",
|
|
"#semi,;,comma,,,dot,.",
|
|
"#semi,;,dot,.,comma,,"
|
|
]],
|
|
["{#keys*}", [
|
|
"#comma=,,dot=.,semi=;",
|
|
"#comma=,,semi=;,dot=.",
|
|
"#dot=.,comma=,,semi=;",
|
|
"#dot=.,semi=;,comma=,",
|
|
"#semi=;,comma=,,dot=.",
|
|
"#semi=;,dot=.,comma=,"
|
|
]],
|
|
["X{.var:3}", "X.val"],
|
|
["X{.list}", "X.red,green,blue"],
|
|
["X{.list*}", "X.red.green.blue"],
|
|
["X{.keys}", [
|
|
"X.comma,%2C,dot,.,semi,%3B",
|
|
"X.comma,%2C,semi,%3B,dot,.",
|
|
"X.dot,.,comma,%2C,semi,%3B",
|
|
"X.dot,.,semi,%3B,comma,%2C",
|
|
"X.semi,%3B,comma,%2C,dot,.",
|
|
"X.semi,%3B,dot,.,comma,%2C"
|
|
]],
|
|
["{/var:1,var}", "/v/value"],
|
|
["{/list}", "/red,green,blue"],
|
|
["{/list*}", "/red/green/blue"],
|
|
["{/list*,path:4}", "/red/green/blue/%2Ffoo"],
|
|
["{/keys}", [
|
|
"/comma,%2C,dot,.,semi,%3B",
|
|
"/comma,%2C,semi,%3B,dot,.",
|
|
"/dot,.,comma,%2C,semi,%3B",
|
|
"/dot,.,semi,%3B,comma,%2C",
|
|
"/semi,%3B,comma,%2C,dot,.",
|
|
"/semi,%3B,dot,.,comma,%2C"
|
|
]],
|
|
["{/keys*}", [
|
|
"/comma=%2C/dot=./semi=%3B",
|
|
"/comma=%2C/semi=%3B/dot=.",
|
|
"/dot=./comma=%2C/semi=%3B",
|
|
"/dot=./semi=%3B/comma=%2C",
|
|
"/semi=%3B/comma=%2C/dot=.",
|
|
"/semi=%3B/dot=./comma=%2C"
|
|
]],
|
|
["{;hello:5}", ";hello=Hello"],
|
|
["{;list}", ";list=red,green,blue"],
|
|
["{;list*}", ";list=red;list=green;list=blue"],
|
|
["{;keys}", [
|
|
";keys=comma,%2C,dot,.,semi,%3B",
|
|
";keys=comma,%2C,semi,%3B,dot,.",
|
|
";keys=dot,.,comma,%2C,semi,%3B",
|
|
";keys=dot,.,semi,%3B,comma,%2C",
|
|
";keys=semi,%3B,comma,%2C,dot,.",
|
|
";keys=semi,%3B,dot,.,comma,%2C"
|
|
]],
|
|
["{;keys*}", [
|
|
";comma=%2C;dot=.;semi=%3B",
|
|
";comma=%2C;semi=%3B;dot=.",
|
|
";dot=.;comma=%2C;semi=%3B",
|
|
";dot=.;semi=%3B;comma=%2C",
|
|
";semi=%3B;comma=%2C;dot=.",
|
|
";semi=%3B;dot=.;comma=%2C"
|
|
]],
|
|
["{?var:3}", "?var=val"],
|
|
["{?list}", "?list=red,green,blue"],
|
|
["{?list*}", "?list=red&list=green&list=blue"],
|
|
["{?keys}", [
|
|
"?keys=comma,%2C,dot,.,semi,%3B",
|
|
"?keys=comma,%2C,semi,%3B,dot,.",
|
|
"?keys=dot,.,comma,%2C,semi,%3B",
|
|
"?keys=dot,.,semi,%3B,comma,%2C",
|
|
"?keys=semi,%3B,comma,%2C,dot,.",
|
|
"?keys=semi,%3B,dot,.,comma,%2C"
|
|
]],
|
|
["{?keys*}", [
|
|
"?comma=%2C&dot=.&semi=%3B",
|
|
"?comma=%2C&semi=%3B&dot=.",
|
|
"?dot=.&comma=%2C&semi=%3B",
|
|
"?dot=.&semi=%3B&comma=%2C",
|
|
"?semi=%3B&comma=%2C&dot=.",
|
|
"?semi=%3B&dot=.&comma=%2C"
|
|
]],
|
|
["{&var:3}", "&var=val"],
|
|
["{&list}", "&list=red,green,blue"],
|
|
["{&list*}", "&list=red&list=green&list=blue"],
|
|
["{&keys}", [
|
|
"&keys=comma,%2C,dot,.,semi,%3B",
|
|
"&keys=comma,%2C,semi,%3B,dot,.",
|
|
"&keys=dot,.,comma,%2C,semi,%3B",
|
|
"&keys=dot,.,semi,%3B,comma,%2C",
|
|
"&keys=semi,%3B,comma,%2C,dot,.",
|
|
"&keys=semi,%3B,dot,.,comma,%2C"
|
|
]],
|
|
["{&keys*}", [
|
|
"&comma=%2C&dot=.&semi=%3B",
|
|
"&comma=%2C&semi=%3B&dot=.",
|
|
"&dot=.&comma=%2C&semi=%3B",
|
|
"&dot=.&semi=%3B&comma=%2C",
|
|
"&semi=%3B&comma=%2C&dot=.",
|
|
"&semi=%3B&dot=.&comma=%2C"
|
|
]]
|
|
]
|
|
}
|
|
}
|