mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:57:35 +00:00
Libraries: Move to Userland/Libraries/
This commit is contained in:
parent
dc28c07fa5
commit
13d7c09125
1857 changed files with 266 additions and 274 deletions
47
Userland/Libraries/LibJS/Tests/labels.js
Normal file
47
Userland/Libraries/LibJS/Tests/labels.js
Normal file
|
@ -0,0 +1,47 @@
|
|||
test("labeled plain scope", () => {
|
||||
test: {
|
||||
let o = 1;
|
||||
expect(o).toBe(1);
|
||||
break test;
|
||||
expect().fail();
|
||||
}
|
||||
});
|
||||
|
||||
test("break on plain scope from inner scope", () => {
|
||||
outer: {
|
||||
{
|
||||
break outer;
|
||||
}
|
||||
expect().fail();
|
||||
}
|
||||
});
|
||||
|
||||
test("labeled for loop with break", () => {
|
||||
let counter = 0;
|
||||
outer: for (a of [1, 2, 3]) {
|
||||
for (b of [4, 5, 6]) {
|
||||
if (a === 2 && b === 5) break outer;
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
expect(counter).toBe(4);
|
||||
});
|
||||
|
||||
test("labeled for loop with continue", () => {
|
||||
let counter = 0;
|
||||
outer: for (a of [1, 2, 3]) {
|
||||
for (b of [4, 5, 6]) {
|
||||
if (b === 6) continue outer;
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
expect(counter).toBe(6);
|
||||
});
|
||||
|
||||
test("invalid label across scope", () => {
|
||||
expect(`
|
||||
label: {
|
||||
(() => { break label; });
|
||||
}
|
||||
`).not.toEval();
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue