[
{
"cases": [
{
"expression": "foo.*.baz | [0]",
"result": "subkey"
},
{
"expression": "foo.*.baz | [1]",
"result": "subkey"
},
{
"expression": "foo.*.baz | [2]",
"result": "subkey"
},
{
"expression": "foo.bar.* | [0]",
"result": "subkey"
},
{
"expression": "foo.*.notbaz | [*]",
"is_deeply": 1,
"result": [
[
"a",
"b",
"c"
],
[
"a",
"b",
"c"
]
]
},
{
"expression": "{\"a\": foo.bar, \"b\": foo.other} | *.baz",
"is_deeply": 1,
"result": [
"subkey",
"subkey"
]
}
],
"given": {
"foo": {
"bar": {
"baz": "subkey"
},
"other": {
"baz": "subkey"
},
"other2": {
"baz": "subkey"
},
"other3": {
"is_deeply": 1,
"notbaz": [
"a",
"b",
"c"
]
},
"other4": {
"is_deeply": 1,
"notbaz": [
"a",
"b",
"c"
]
}
}
}
},
{
"cases": [
{
"expression": "foo | bar",
"is_deeply": 1,
"result": {
"baz": "one"
}
},
{
"expression": "foo | bar | baz",
"result": "one"
},
{
"expression": "foo|bar| baz",
"result": "one"
},
{
"expression": "not_there | [0]",
"result": null
},
{
"expression": "not_there | [0]",
"result": null
},
{
"expression": "[foo.bar, foo.other] | [0]",
"is_deeply": 1,
"result": {
"baz": "one"
}
},
{
"expression": "{\"a\": foo.bar, \"b\": foo.other} | a",
"is_deeply": 1,
"result": {
"baz": "one"
}
},
{
"expression": "{\"a\": foo.bar, \"b\": foo.other} | b",
"is_deeply": 1,
"result": {
"baz": "two"
}
},
{
"expression": "foo.bam || foo.bar | baz",
"result": "one"
},
{
"expression": "foo | not_there || bar",
"is_deeply": 1,
"result": {
"baz": "one"
}
}
],
"given": {
"foo": {
"bar": {
"baz": "one"
},
"other": {
"baz": "two"
},
"other2": {
"baz": "three"
},
"other3": {
"notbaz": [
"a",
"b",
"c"
]
},
"other4": {
"notbaz": [
"d",
"e",
"f"
]
}
}
}
},
{
"cases": [
{
"expression": "foo[*].bar[*] | [0][0]",
"is_deeply": 1,
"result": {
"baz": "one"
}
}
],
"given": {
"foo": [
{
"bar": [
{
"baz": "one"
},
{
"baz": "two"
}
]
},
{
"bar": [
{
"baz": "three"
},
{
"baz": "four"
}
]
}
]
}
}
]