@@ -26,7 +26,7 @@ var testCases = []PointerTestCase{
2626 {"/a~01b" , []Token {RootToken {}, KeyToken {Key : "a~1b" }}},
2727 {"/a~1b" , []Token {RootToken {}, KeyToken {Key : "a/b" }}},
2828
29- // Speacial chars
29+ // Special chars
3030 {"/c%d" , []Token {RootToken {}, KeyToken {Key : "c%d" }}},
3131 {"/e^f" , []Token {RootToken {}, KeyToken {Key : "e^f" }}},
3232 {"/g|h" , []Token {RootToken {}, KeyToken {Key : "g|h" }}},
@@ -35,18 +35,23 @@ var testCases = []PointerTestCase{
3535
3636 // Maps
3737 {"/key" , []Token {RootToken {}, KeyToken {Key : "key" }}},
38- {"/key/" , []Token {RootToken {}, KeyToken {Key : "key" , Expected : true }, KeyToken {Key : "" }}},
39- {"/key/key2" , []Token {RootToken {}, KeyToken {Key : "key" , Expected : true }, KeyToken {Key : "key2" }}},
40- {"/key?/key2/key3" , []Token {RootToken {}, KeyToken {Key : "key" }, KeyToken {Key : "key2" }, KeyToken {Key : "key3" }}},
38+ {"/key/" , []Token {RootToken {}, KeyToken {Key : "key" }, KeyToken {Key : "" }}},
39+ {"/key/key2" , []Token {RootToken {}, KeyToken {Key : "key" }, KeyToken {Key : "key2" }}},
40+ {"/key?/key2/key3" , []Token {
41+ RootToken {},
42+ KeyToken {Key : "key" , Optional : true },
43+ KeyToken {Key : "key2" , Optional : true },
44+ KeyToken {Key : "key3" , Optional : true },
45+ }},
4146
4247 // Array indices
4348 {"/0" , []Token {RootToken {}, IndexToken {0 }}},
4449 {"/1000001" , []Token {RootToken {}, IndexToken {1000001 }}},
4550 {"/-2" , []Token {RootToken {}, IndexToken {- 2 }}},
4651
4752 {"/-" , []Token {RootToken {}, AfterLastIndexToken {}}},
48- {"/ary/-" , []Token {RootToken {}, KeyToken {Key : "ary" , Expected : true }, AfterLastIndexToken {}}},
49- {"/-/key" , []Token {RootToken {}, KeyToken {Key : "-" , Expected : true }, KeyToken {Key : "key" }}},
53+ {"/ary/-" , []Token {RootToken {}, KeyToken {Key : "ary" }, AfterLastIndexToken {}}},
54+ {"/-/key" , []Token {RootToken {}, KeyToken {Key : "-" }, KeyToken {Key : "key" }}},
5055
5156 // Matching index token
5257 {"/name=val" , []Token {RootToken {}, MatchingIndexToken {Key : "name" , Value : "val" }}},
@@ -89,7 +94,11 @@ var _ = Describe("Pointer.String", func() {
8994
9095var _ = Describe ("Pointer.Tokens" , func () {
9196 parsingTestCases := []PointerTestCase {
92- {"/key/key2?" , []Token {RootToken {}, KeyToken {Key : "key" , Expected : true }, KeyToken {Key : "key2" }}},
97+ {"/key/key2?" , []Token {
98+ RootToken {},
99+ KeyToken {Key : "key" },
100+ KeyToken {Key : "key2" , Optional : true },
101+ }},
93102 }
94103
95104 parsingTestCases = append (parsingTestCases , testCases ... )
0 commit comments