diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/jit-test/tests/basic/json-parse-object-edge-cases.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/jit-test/tests/basic/json-parse-object-edge-cases.js')
-rw-r--r-- | js/src/jit-test/tests/basic/json-parse-object-edge-cases.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/json-parse-object-edge-cases.js b/js/src/jit-test/tests/basic/json-parse-object-edge-cases.js new file mode 100644 index 0000000000..2a93cd4211 --- /dev/null +++ b/js/src/jit-test/tests/basic/json-parse-object-edge-cases.js @@ -0,0 +1,49 @@ +// Array includes objects with duplicate keys and integer keys. +let json = `[ + {"x1": 1}, + {"x2": 2}, + {"x3": 3}, + {"x1": 1, "y": 0}, + {"x2": 1, "y": 0}, + {"x3": 1, "y": 0}, + {"x1": 1, "x1": 2, "y": 0}, + {"x1": 1, "x1": 2, "y": 0}, + {"x1": 1, "x1": 2, "y": 0}, + {"0": 1, "x1": 1}, + {"0": 1, "0": 2, "x1": 1}, + {"0": 1, "0": 2, "x1": 1}, + {"2147483648": 1}, + {"2147483648": 2}, + {"2147483648": 0, "x": 0, "2147483648": 3}, + {"4294967295": 4}, + {"4294967295": 5}, + {"-1": 6}, + {"-1": 7}, + {"__proto__": 1}, + {"__proto__": 2} +]`; +for (let i = 0; i < 3; i++) { + let res = JSON.parse(json); + assertEq(JSON.stringify(res), + `[{"x1":1},` + + `{"x2":2},` + + `{"x3":3},` + + `{"x1":1,"y":0},` + + `{"x2":1,"y":0},` + + `{"x3":1,"y":0},` + + `{"x1":2,"y":0},` + + `{"x1":2,"y":0},` + + `{"x1":2,"y":0},` + + `{"0":1,"x1":1},` + + `{"0":2,"x1":1},` + + `{"0":2,"x1":1},` + + `{"2147483648":1},` + + `{"2147483648":2},` + + `{"2147483648":3,"x":0},` + + `{"4294967295":4},` + + `{"4294967295":5},` + + `{"-1":6},` + + `{"-1":7},` + + `{"__proto__":1},` + + `{"__proto__":2}]`); +} |