diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /js/src/jit-test/tests/parser/missing-closing-brace.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/jit-test/tests/parser/missing-closing-brace.js')
-rw-r--r-- | js/src/jit-test/tests/parser/missing-closing-brace.js | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/parser/missing-closing-brace.js b/js/src/jit-test/tests/parser/missing-closing-brace.js new file mode 100644 index 0000000000..53fede80af --- /dev/null +++ b/js/src/jit-test/tests/parser/missing-closing-brace.js @@ -0,0 +1,90 @@ +function test(source, [lineNumber, columnNumber], openType = "{", closeType = "}") { + let caught = false; + try { + Reflect.parse(source, { source: "foo.js" }); + } catch (e) { + assertEq(e.message.includes("missing " + closeType + " "), true); + let notes = getErrorNotes(e); + assertEq(notes.length, 1); + let note = notes[0]; + assertEq(note.message, openType + " opened at line " + lineNumber + ", column " + columnNumber); + assertEq(note.fileName, "foo.js"); + assertEq(note.lineNumber, lineNumber); + assertEq(note.columnNumber, columnNumber); + caught = true; + } + assertEq(caught, true); +} + +// Function + +test(` +function test1() { +} +function test2() { + if (true) { + //} +} +function test3() { +} +`, [4, 18]); + +// Block statement. +test(` +{ + if (true) { +} +`, [2, 1]); +test(` +if (true) { + if (true) { +} +`, [2, 11]); +test(` +for (;;) { + if (true) { +} +`, [2, 10]); +test(` +while (true) { + if (true) { +} +`, [2, 14]); +test(` +do { + do { +} while(true); +`, [2, 4]); + +// try-catch-finally. +test(` +try { + if (true) { +} +`, [2, 5]); +test(` +try { +} catch (e) { + if (true) { +} +`, [3, 13]); +test(` +try { +} finally { + if (true) { +} +`, [3, 11]); + +// Object literal. +test(` +var x = { + foo: { +}; +`, [2, 9]); + +// Array literal. +test(` +var x = [ + [ +]; +`, [2, 9], "[", "]"); |