mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-21 23:20:20 +00:00
65 lines
1.2 KiB
JavaScript
65 lines
1.2 KiB
JavaScript
test("Issue #1829, if-else without braces or semicolons", () => {
|
|
const source = `if (1)
|
|
foo;
|
|
else
|
|
bar;
|
|
|
|
if (1)
|
|
foo
|
|
else
|
|
bar
|
|
|
|
if (1)
|
|
foo
|
|
else
|
|
bar;`;
|
|
|
|
expect(source).toEval();
|
|
});
|
|
|
|
test("break/continue, variable declaration, do-while, and return asi", () => {
|
|
const source = `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 */}
|
|
|
|
foo();`;
|
|
|
|
expect(source).toEvalTo(undefined);
|
|
});
|
|
|
|
test("more break and continue asi", () => {
|
|
const source = `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++;
|
|
}
|
|
|
|
counter;`;
|
|
|
|
expect(source).toEvalTo(5);
|
|
});
|
|
|
|
test("eof with no semicolon", () => {
|
|
expect("var eof").toEval();
|
|
});
|