summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/JSON/trailing-comma.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--js/src/tests/non262/JSON/trailing-comma.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/tests/non262/JSON/trailing-comma.js b/js/src/tests/non262/JSON/trailing-comma.js
new file mode 100644
index 0000000000..0dc20e71a0
--- /dev/null
+++ b/js/src/tests/non262/JSON/trailing-comma.js
@@ -0,0 +1,32 @@
+// Any copyright is dedicated to the Public Domain.
+// http://creativecommons.org/licenses/publicdomain/
+
+var gTestfile = 'trailing-comma.js';
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 564621;
+var summary = 'JSON.parse should reject {"a" : "b",} or [1,]';
+
+print(BUGNUMBER + ": " + summary);
+
+/**************
+ * BEGIN TEST *
+ **************/
+
+testJSON('[]', false);
+testJSON('[1]', false);
+testJSON('["a"]', false);
+testJSON('{}', false);
+testJSON('{"a":1}', false);
+testJSON('{"a":"b"}', false);
+testJSON('{"a":true}', false);
+testJSON('[{}]', false);
+
+testJSON('[1,]', true);
+testJSON('["a",]', true);
+testJSON('{,}', true);
+testJSON('{"a":1,}', true);
+testJSON('{"a":"b",}', true);
+testJSON('{"a":true,}', true);
+testJSON('[{,}]', true);
+testJSON('[[1,]]', true);
+testJSON('[{"a":"b",}]', true);