mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 01:27:34 +00:00
LibJS: Implement basic execution of "switch" statements
The "break" keyword now unwinds to the nearest ScopeType::Breakable. There's no support for break labels yet, but we'll get there too.
This commit is contained in:
parent
1923051c5b
commit
2285f84596
6 changed files with 57 additions and 2 deletions
10
Libraries/LibJS/Tests/switch-basic-2.js
Normal file
10
Libraries/LibJS/Tests/switch-basic-2.js
Normal file
|
@ -0,0 +1,10 @@
|
|||
var a = "foo";
|
||||
|
||||
switch (a + "bar") {
|
||||
case 1:
|
||||
break;
|
||||
case "foobar":
|
||||
case 2:
|
||||
console.log("PASS");
|
||||
break;
|
||||
}
|
6
Libraries/LibJS/Tests/switch-basic-3.js
Normal file
6
Libraries/LibJS/Tests/switch-basic-3.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
var a = "foo";
|
||||
|
||||
switch (100) {
|
||||
default:
|
||||
console.log("PASS");
|
||||
}
|
10
Libraries/LibJS/Tests/switch-basic.js
Normal file
10
Libraries/LibJS/Tests/switch-basic.js
Normal file
|
@ -0,0 +1,10 @@
|
|||
switch (1 + 2) {
|
||||
case 3:
|
||||
console.log("PASS");
|
||||
break;
|
||||
case 5:
|
||||
case 1:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue