aboutsummaryrefslogtreecommitdiff
path: root/Foundation/TestData/GTMURITemplateRFCTests.json
diff options
context:
space:
mode:
Diffstat (limited to 'Foundation/TestData/GTMURITemplateRFCTests.json')
-rw-r--r--Foundation/TestData/GTMURITemplateRFCTests.json131
1 files changed, 131 insertions, 0 deletions
diff --git a/Foundation/TestData/GTMURITemplateRFCTests.json b/Foundation/TestData/GTMURITemplateRFCTests.json
new file mode 100644
index 0000000..03fa22d
--- /dev/null
+++ b/Foundation/TestData/GTMURITemplateRFCTests.json
@@ -0,0 +1,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"]
+ ]
+ }
+}