123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- load("test-common.js");
- /**
- * This file tests automatic semicolon insertion rules.
- * If this file produces syntax errors, something is wrong.
- */
- function bar() {
- // https://github.com/SerenityOS/serenity/issues/1829
- if (1)
- return 1;
- else
- return 0;
- if (1)
- return 1
- else
- return 0
- if (1)
- return 1
- else
- return 0;
-
- }
- function foo() {
- label:
- for (var i = 0; i < 4; i++) {
- break // semicolon inserted here
- continue // semicolon inserted here
- break label // semicolon inserted here
- continue label // 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 */}
- function baz() {
- let counter = 0;
- let outer;
- outer:
- for (let i = 0; i < 5; ++i) {
- for (let j = 0; j < 5; ++j) {
- continue // semicolon inserted here
- outer // semicolon inserted here
- }
- counter++;
- }
- return counter;
- }
- try {
- assert(foo() === undefined);
- assert(baz() === 5);
- 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
|