{ "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"] } } ] }