Skip to content

Commit

Permalink
Adopt the proposed naming schema from CTS (#123)
Browse files Browse the repository at this point in the history
  • Loading branch information
f3ath authored Jan 28, 2025
1 parent 138b05f commit 180fce0
Show file tree
Hide file tree
Showing 4 changed files with 116 additions and 99 deletions.
80 changes: 40 additions & 40 deletions test/cases/standard/basic.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
"selector": "$",
"document": ["first", "second"],
"result": [["first", "second"]],
"paths": ["$"],
"pointers": [""]
"result_paths": ["$"],
"result_pointers": [""]
}, {
"name": "dot field on object",
"selector": "$.a",
"document": {"a": "A", "b": "B"},
"result": ["A"],
"paths": ["$['a']"],
"pointers": ["/a"]
"result_paths": ["$['a']"],
"result_pointers": ["/a"]
}, {
"name": "dot field on array",
"selector": "$.a",
Expand All @@ -24,8 +24,8 @@
"selector": "$.*",
"document": {"a": "A", "b": "B"},
"result": ["A", "B"],
"paths": ["$['a']", "$['b']"],
"pointers": ["/a", "/b"]
"result_paths": ["$['a']", "$['b']"],
"result_pointers": ["/a", "/b"]
}, {
"name": "union wildcard on array",
"selector": "$[*]",
Expand All @@ -41,8 +41,8 @@
"selector": "$[*]",
"document": {"a": "A", "b": "B"},
"result": ["A", "B"],
"paths": ["$['a']", "$['b']"],
"pointers": ["/a", "/b"]
"result_paths": ["$['a']", "$['b']"],
"result_pointers": ["/a", "/b"]
}, {
"name": "union wildcard on object, twice",
"selector": "$[*, *]",
Expand All @@ -53,36 +53,36 @@
"selector": "$.*",
"document": ["A", "B"],
"result": ["A", "B"],
"paths": ["$[0]", "$[1]"],
"pointers": ["/0", "/1"]
"result_paths": ["$[0]", "$[1]"],
"result_pointers": ["/0", "/1"]
}, {
"name": "dot wildcard dot field",
"selector": "$.*.a",
"document": {"x": {"a": "Ax", "b": "Bx"}, "y": {"a": "Ay", "b": "By"}},
"result": ["Ax", "Ay"],
"paths": ["$['x']['a']", "$['y']['a']"],
"pointers": ["/x/a", "/y/a"]
"result_paths": ["$['x']['a']", "$['y']['a']"],
"result_pointers": ["/x/a", "/y/a"]
}, {
"name": "union sq field on object",
"selector": "$['a']",
"document": {"a": "A", "b": "B"},
"result": ["A"],
"paths": ["$['a']"],
"pointers": ["/a"]
"result_paths": ["$['a']"],
"result_pointers": ["/a"]
}, {
"name": "union sq field on object (2 result)",
"selector": "$['a', 'c']",
"document": {"a": "A", "b": "B", "c": "C"},
"result": ["A", "C"],
"paths": ["$['a']", "$['c']"],
"pointers": ["/a", "/c"]
"result_paths": ["$['a']", "$['c']"],
"result_pointers": ["/a", "/c"]
}, {
"name": "union sq field on object (numeric key)",
"selector": "$['1']",
"document": {"0": "A", "1": "B"},
"result": ["B"],
"paths": ["$['1']"],
"pointers": ["/1"]
"result_paths": ["$['1']"],
"result_pointers": ["/1"]
}, {
"name": "union sq field on array",
"selector": "$['a']",
Expand All @@ -93,22 +93,22 @@
"selector": "$[\"a\"]",
"document": {"a": "A", "b": "B"},
"result": ["A"],
"paths": ["$['a']"],
"pointers": ["/a"]
"result_paths": ["$['a']"],
"result_pointers": ["/a"]
}, {
"name": "union dq field on object (2 result)",
"selector": "$[\"a\", \"c\"]",
"document": {"a": "A", "b": "B", "c": "C"},
"result": ["A", "C"],
"paths": ["$['a']", "$['c']"],
"pointers": ["/a", "/c"]
"result_paths": ["$['a']", "$['c']"],
"result_pointers": ["/a", "/c"]
}, {
"name": "union dq field on object (numeric key)",
"selector": "$[\"1\"]",
"document": {"0": "A", "1": "B"},
"result": ["B"],
"paths": ["$['1']"],
"pointers": ["/1"]
"result_paths": ["$['1']"],
"result_pointers": ["/1"]
}, {
"name": "union dq field on array",
"selector": "$[\"a\"]",
Expand All @@ -119,8 +119,8 @@
"selector": "$[1]",
"document": ["A", "B"],
"result": ["B"],
"paths": ["$[1]"],
"pointers": ["/1"]
"result_paths": ["$[1]"],
"result_pointers": ["/1"]
}, {
"name": "union index on object",
"selector": "$[1]",
Expand All @@ -131,29 +131,29 @@
"selector": "$[\"0\", 1, 'a']",
"document": {"a": "A", "b": "B", "0": "Zero", "1": "One"},
"result": ["Zero", "A"],
"paths": ["$['0']", "$['a']"],
"pointers": ["/0", "/a"]
"result_paths": ["$['0']", "$['a']"],
"result_pointers": ["/0", "/a"]
}, {
"name": "union index and field on array",
"selector": "$[1, 'a', '1']",
"document": ["A", "B"],
"result": ["B"],
"paths": ["$[1]"],
"pointers": ["/1"]
"result_paths": ["$[1]"],
"result_pointers": ["/1"]
}, {
"name": "union array slice on array [15:-7:-3]",
"selector": "$[15:-7:-3]",
"document": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
"result": [9, 6],
"paths": ["$[9]", "$[6]"],
"pointers": ["/9", "/6"]
"result_paths": ["$[9]", "$[6]"],
"result_pointers": ["/9", "/6"]
}, {
"name": "union array slice on array [:]",
"selector": "$[:]",
"document": [0, 1, 2],
"result": [0, 1, 2],
"paths": ["$[0]", "$[1]", "$[2]"],
"pointers": ["/0", "/1", "/2"]
"result_paths": ["$[0]", "$[1]", "$[2]"],
"result_pointers": ["/0", "/1", "/2"]
}, {
"name": "test [:]",
"selector": "$.Table1[:]",
Expand All @@ -164,22 +164,22 @@
"selector": "$[:10000000000:]",
"document": [0, 1, 2],
"result": [0, 1, 2],
"paths": ["$[0]", "$[1]", "$[2]"],
"pointers": ["/0", "/1", "/2"]
"result_paths": ["$[0]", "$[1]", "$[2]"],
"result_pointers": ["/0", "/1", "/2"]
}, {
"name": "recursion wildcard",
"selector": "$..*",
"document": {"a": {"foo": "bar"}, "b": [42]},
"result": [{"foo": "bar"}, [42], "bar", 42],
"paths": ["$['a']", "$['b']", "$['a']['foo']", "$['b'][0]"],
"pointers": ["/a", "/b", "/a/foo", "/b/0"]
"result_paths": ["$['a']", "$['b']", "$['a']['foo']", "$['b'][0]"],
"result_pointers": ["/a", "/b", "/a/foo", "/b/0"]
}, {
"name": "recursion union",
"selector": "$..[0]",
"document": {"a": {"foo": "bar"}, "b": [42]},
"result": [42],
"paths": ["$['b'][0]"],
"pointers": ["/b/0"]
"result_paths": ["$['b'][0]"],
"result_pointers": ["/b/0"]
}
]
}
48 changes: 24 additions & 24 deletions test/cases/standard/expressions_equality.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"selector": "$[?(1==1)]",
"document": [42],
"result": [42],
"paths": ["$[0]"],
"pointers": ["/0"]
"result_paths": ["$[0]"],
"result_pointers": ["/0"]
}, {
"name": "object itself",
"selector": "$[?(@ == 1)]",
Expand All @@ -17,78 +17,78 @@
"selector": "$[?(@[1] == 'b')]",
"document": [["a", "b"], ["x", "y"]],
"result": [["a", "b"]],
"paths": ["$[0]"],
"pointers": ["/0"]
"result_paths": ["$[0]"],
"result_pointers": ["/0"]
}, {
"name": "array index with odd spacing",
"selector": "$[?(@ [1] =='b')]",
"document": [["a", "b"], ["x", "y"]],
"result": [["a", "b"]],
"paths": ["$[0]"],
"pointers": ["/0"]
"result_paths": ["$[0]"],
"result_pointers": ["/0"]
}, {
"name": "object child, single quote",
"selector": "$[?(@['key'] == 'b')]",
"document": [{"key": "a"}, {"key": "b"}, {}],
"result": [{"key": "b"}],
"paths": ["$[1]"],
"pointers": ["/1"]
"result_paths": ["$[1]"],
"result_pointers": ["/1"]
}, {
"name": "object child, single quote, odd spacing",
"selector": "$[?(@ ['key']=='b')]",
"document": [{"key": "a"}, {"key": "b"}, {}],
"result": [{"key": "b"}],
"paths": ["$[1]"],
"pointers": ["/1"]
"result_paths": ["$[1]"],
"result_pointers": ["/1"]
}, {
"name": "object child, double quote",
"selector": "$[?(@[\"key\"] == 'b')]",
"document": [{"key": "a"}, {"key": "b"}, {}],
"result": [{"key": "b"}],
"paths": ["$[1]"],
"pointers": ["/1"]
"result_paths": ["$[1]"],
"result_pointers": ["/1"]
}, {
"name": "object child, dot-notation",
"selector": "$[?(@.key=='b')]",
"document": [{"key": "a"}, {"key": "b"}, {}],
"result": [{"key": "b"}],
"paths": ["$[1]"],
"pointers": ["/1"]
"result_paths": ["$[1]"],
"result_pointers": ["/1"]
}, {
"name": "object child, dot-notation, depth 2",
"selector": "$[?(@.foo.bar=='b')]",
"document": [{"foo": {"bar": "a"}}, {"foo": {"bar": "b"}}, {"foo": "b"} ,{}],
"result": [{"foo": {"bar": "b"}}],
"paths": ["$[1]"],
"pointers": ["/1"]
"result_paths": ["$[1]"],
"result_pointers": ["/1"]
}, {
"name": "object child, dot-notation, depth 2, odd spacing",
"selector": "$[?(@ \t .foo\n .bar== 'b')]",
"document": [{"foo": {"bar": "a"}}, {"foo": {"bar": "b"}}, {"foo": "b"} ,{}],
"result": [{"foo": {"bar": "b"}}],
"paths": ["$[1]"],
"pointers": ["/1"]
"result_paths": ["$[1]"],
"result_pointers": ["/1"]
}, {
"name": "object child, dot-notation, int value",
"selector": "$[?(@.id==42)].name",
"document": [{"id": 42, "name": "forty-two"}, {"id": 1, "name": "one"}],
"result": ["forty-two"],
"paths": ["$[0]['name']"],
"pointers": ["/0/name"]
"result_paths": ["$[0]['name']"],
"result_pointers": ["/0/name"]
}, {
"name": "object child, combined",
"selector": "$[?(@.foo['bar'] == 'b')]",
"document": [{"foo": {"bar": "a"}}, {"foo": {"bar": "b"}}, {"foo": {"moo": 42}}, {}],
"result": [{"foo": {"bar": "b"}}],
"paths": ["$[1]"],
"pointers": ["/1"]
"result_paths": ["$[1]"],
"result_pointers": ["/1"]
}, {
"name": "equal props",
"selector": "$[?(@.foo == @.bar)]",
"document": [{"foo": 1, "bar": 2}, {"foo": 42, "bar": 42}, {"foo": 1, "bro": 1}, {}],
"result": [{"foo": 42, "bar": 42}, {}],
"paths": ["$[1]", "$[3]"],
"pointers": ["/1", "/3"]
"result_paths": ["$[1]", "$[3]"],
"result_pointers": ["/1", "/3"]
}, {
"selector": "$[?(1!=1)]",
"document": [42],
Expand Down
4 changes: 2 additions & 2 deletions test/cases/standard/normalized_path.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"'": "single quote/apostrophe",
"\\": "backslash"
},
"paths": [
"result_paths": [
"$['\\u0000']",
"$['\\u0001']",
"$['\\u0002']",
Expand Down Expand Up @@ -55,7 +55,7 @@
"\ud83d\ude00": "smiley face",
"\u10FFFF": "0x10FFFF"
},
"paths": [
"result_paths": [
"$['\"']",
"$['[]']",
"$['\uD83D\uDE00']",
Expand Down
Loading

0 comments on commit 180fce0

Please sign in to comment.