{
"array-index-coercion": [
{
"expr": "foo[null]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "String", "value": "zero" }
},
{
"expr": "foo[false]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "String", "value": "zero" }
},
{
"expr": "foo[true]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "String", "value": "one" }
},
{
"expr": "foo[' 0.0 ']",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "String", "value": "zero" }
},
{
"expr": "foo[' 0x02 ']",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "String", "value": "two" }
},
{
"expr": "foo[' asdf ']",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "Null", "value": null }
},
{
"expr": "foo[fromjson('[]')]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "Null", "value": null }
},
{
"expr": "foo[fromjson('{}')]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "Null", "value": null }
}
],
"array-index-out-of-range": [
{
"expr": "foo[-1]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "Null", "value": null }
},
{
"expr": "foo[3]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "Null", "value": null }
},
{
"expr": "foo[-Infinity]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "Null", "value": null }
},
{
"expr": "foo[Infinity]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "Null", "value": null }
},
{
"expr": "foo[NaN]",
"contexts": {
"foo": [
"zero",
"one",
"two"
]
},
"result": { "kind": "Null", "value": null }
}
],
"object-case-insensitive": [
{
"expr": "foo['bAr']",
"contexts": {
"foo": {
"BaR": "baz"
}
},
"result": { "kind": "String", "value": "baz" }
}
],
"object-index-coercion": [
{
"expr": "foo[5]",
"contexts": {
"foo": {
"5": "it's 5"
}
},
"result": { "kind": "String", "value": "it's 5" }
},
{
"expr": "foo[.5]",
"contexts": {
"foo": {
"0.5": "it's 0.5"
}
},
"result": { "kind": "String", "value": "it's 0.5" }
},
{
"expr": "foo[-.5]",
"contexts": {
"foo": {
"-0.5": "it's -0.5"
}
},
"result": { "kind": "String", "value": "it's -0.5" }
},
{
"expr": "foo[0x0f]",
"contexts": {
"foo": {
"15": "it's 15"
}
},
"result": { "kind": "String", "value": "it's 15" }
},
{
"expr": "foo[NaN]",
"contexts": {
"foo": {
"NaN": "it's NaN"
}
},
"result": { "kind": "String", "value": "it's NaN" }
},
{
"expr": "foo[Infinity]",
"contexts": {
"foo": {
"Infinity": "it's Infinity"
}
},
"result": { "kind": "String", "value": "it's Infinity" }
},
{
"expr": "foo[-Infinity]",
"contexts": {
"foo": {
"-Infinity": "it's -Infinity"
}
},
"result": { "kind": "String", "value": "it's -Infinity" }
},
{
"expr": "foo[null]",
"contexts": {
"foo": {
"": "it's null"
}
},
"result": { "kind": "String", "value": "it's null" }
},
{
"expr": "foo[true]",
"contexts": {
"foo": {
"true": "it's true"
}
},
"result": { "kind": "String", "value": "it's true" }
},
{
"expr": "foo[false]",
"contexts": {
"foo": {
"false": "it's false"
}
},
"result": { "kind": "String", "value": "it's false" }
},
{
"expr": "foo[fromJson('{}')]",
"contexts": {
"foo": {
"Object": "It's Object"
}
},
"result": { "kind": "Null", "value": null }
},
{
"expr": "foo[format('{0}', fromJson('{}'))]",
"contexts": {
"foo": {
"Object": "It's Object"
}
},
"result": { "kind": "String", "value": "It's Object" }
},
{
"expr": "foo[fromJson('[]')]",
"contexts": {
"foo": {
"Array": "It's Array"
}
},
"result": { "kind": "Null", "value": null }
},
{
"expr": "foo[format('{0}', fromJson('[]'))]",
"contexts": {
"foo": {
"Array": "It's Array"
}
},
"result": { "kind": "String", "value": "It's Array" }
}
],
"object-index-out-of-range": [
{
"expr": "foo['']",
"contexts": {
"foo": {
"bar": "baz"
}
},
"result": { "kind": "Null", "value": null }
},
{
"expr": "foo['asdf']",
"contexts": {
"foo": {
"bar": "baz"
}
},
"result": { "kind": "Null", "value": null }
}
],
"index-following-function": [
{
"expr": "fromJson('[\"one\", \"two\"]')[1]",
"result": { "kind": "String", "value": "two" }
}
],
"index-following-group": [
{
"expr": "(fromJson('[\"one\", \"two\"]'))[1]",
"result": { "kind": "String", "value": "two" }
}
],
"index-star": [
{
"expr": "foo[*]",
"contexts": {
"foo": {
"one": "one val",
"two": "two val",
"*": "star val"
}
},
"result": { "kind": "Array", "value": ["one val", "two val", "star val"] }
},
{
"expr": "foo['*']",
"contexts": {
"foo": {
"one": "one val",
"two": "two val",
"*": "star val"
}
},
"result": { "kind": "String", "value": "star val" }
},
{
"expr": "foo[*]",
"contexts": {
"foo": [
"one",
"two"
]
},
"result": { "kind": "Array", "value": ["one", "two"] }
}
]
}