355 lines
6.8 KiB
JSON
355 lines
6.8 KiB
JSON
{
|
|
"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"] }
|
|
}
|
|
]
|
|
}
|