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/tests/non262/String/unicode-braced.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/non262/String/unicode-braced.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/js/src/tests/non262/String/unicode-braced.js b/js/src/tests/non262/String/unicode-braced.js new file mode 100644 index 0000000000..62d96b8441 --- /dev/null +++ b/js/src/tests/non262/String/unicode-braced.js @@ -0,0 +1,64 @@ +var BUGNUMBER = 320500; +var summary = 'Add \\u{xxxxxx} string literals'; + +print(BUGNUMBER + ": " + summary); + +assertEq("\u{0}", String.fromCodePoint(0x0)); +assertEq("\u{1}", String.fromCodePoint(0x1)); +assertEq("\u{10}", String.fromCodePoint(0x10)); +assertEq("\u{100}", String.fromCodePoint(0x100)); +assertEq("\u{1000}", String.fromCodePoint(0x1000)); +assertEq("\u{D7FF}", String.fromCodePoint(0xD7FF)); +assertEq("\u{D800}", String.fromCodePoint(0xD800)); +assertEq("\u{DBFF}", String.fromCodePoint(0xDBFF)); +assertEq("\u{DC00}", String.fromCodePoint(0xDC00)); +assertEq("\u{DFFF}", String.fromCodePoint(0xDFFF)); +assertEq("\u{E000}", String.fromCodePoint(0xE000)); +assertEq("\u{10000}", String.fromCodePoint(0x10000)); +assertEq("\u{100000}", String.fromCodePoint(0x100000)); +assertEq("\u{10FFFF}", String.fromCodePoint(0x10FFFF)); +assertEq("\u{10ffff}", String.fromCodePoint(0x10FFFF)); + +assertEq("A\u{1}\u{10}B\u{100}\u{1000}\u{10000}C\u{100000}", + "A" + + String.fromCodePoint(0x1) + + String.fromCodePoint(0x10) + + "B" + + String.fromCodePoint(0x100) + + String.fromCodePoint(0x1000) + + String.fromCodePoint(0x10000) + + "C" + + String.fromCodePoint(0x100000)); + +assertEq('\u{10ffff}', String.fromCodePoint(0x10FFFF)); +assertEq(`\u{10ffff}`, String.fromCodePoint(0x10FFFF)); +assertEq(`\u{10ffff}${""}`, String.fromCodePoint(0x10FFFF)); +assertEq(`${""}\u{10ffff}`, String.fromCodePoint(0x10FFFF)); +assertEq(`${""}\u{10ffff}${""}`, String.fromCodePoint(0x10FFFF)); + +assertEq("\u{00}", String.fromCodePoint(0x0)); +assertEq("\u{00000000000000000}", String.fromCodePoint(0x0)); +assertEq("\u{00000000000001000}", String.fromCodePoint(0x1000)); + +assertEq(eval(`"\\u{${"0".repeat(Math.pow(2, 24)) + "1234"}}"`), String.fromCodePoint(0x1234)); + +assertEq("\U{0}", "U{0}"); + +assertThrowsInstanceOf(() => eval(`"\\u{-1}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{0.0}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{G}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{{"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{110000}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{00110000}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{100000000000000000000000000000}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{ FFFF}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{FFFF }"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{FF FF}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{F F F F}"`), SyntaxError); +assertThrowsInstanceOf(() => eval(`"\\u{100000001}"`), SyntaxError); + +if (typeof reportCompare === "function") + reportCompare(true, true); |