summaryrefslogtreecommitdiffhomepage
path: root/tests/custom/99_bugs/09_reject_invalid_array_indexes
diff options
context:
space:
mode:
Diffstat (limited to 'tests/custom/99_bugs/09_reject_invalid_array_indexes')
-rw-r--r--tests/custom/99_bugs/09_reject_invalid_array_indexes25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/custom/99_bugs/09_reject_invalid_array_indexes b/tests/custom/99_bugs/09_reject_invalid_array_indexes
new file mode 100644
index 0000000..a7e5272
--- /dev/null
+++ b/tests/custom/99_bugs/09_reject_invalid_array_indexes
@@ -0,0 +1,25 @@
+Since libjson-c's json_object_get_int64() returns 0 for any input value
+that has no integer representation, any kind of invalid array index
+incorrectly yielded the first array element.
+
+-- Testcase --
+{%
+ x = [1, 2, 3];
+
+ print([
+ x[1],
+ x["1"],
+ x[1.0],
+ x[1.1],
+ x.foo,
+ x["foo"],
+ x["0abc"],
+ x[x],
+ x[{ foo: true }]
+ ], "\n");
+%}
+-- End --
+
+-- Expect stdout --
+[ 2, 2, 2, null, null, null, null, null, null ]
+-- End --