From 63e1ea78198e85f47e69314e77ee68572c4795b8 Mon Sep 17 00:00:00 2001 From: Stephan Unverwerth Date: Fri, 17 Apr 2020 15:52:38 +0200 Subject: [PATCH] LibJS: Add test for semicolon insertion (#1828) --- .../Tests/automatic-semicolon-insertion.js | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Libraries/LibJS/Tests/automatic-semicolon-insertion.js diff --git a/Libraries/LibJS/Tests/automatic-semicolon-insertion.js b/Libraries/LibJS/Tests/automatic-semicolon-insertion.js new file mode 100644 index 0000000000..bec9c02252 --- /dev/null +++ b/Libraries/LibJS/Tests/automatic-semicolon-insertion.js @@ -0,0 +1,32 @@ +load("test-common.js"); + +/** + * This file tests automatic semicolon insertion rules. + * If this file produces syntax errors, something is wrong. + */ + +function foo() { + for (var i = 0; i < 4; i++) { + break // semicolon inserted here + continue // semicolon inserted here + } + + var j // semicolon inserted here + + do { + } while (1 === 2) // semicolon inserted here + + return // semicolon inserted here + 1; +var curly/* semicolon inserted here */} + +try { + assert(foo() === undefined); + + console.log("PASS"); +} catch (e) { + console.log("FAIL: " + e); +} + +// This vardecl must appear exactly at the end of the file (no newline or whitespace after it) +var eof