mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-10 10:01:13 +09:00
LibJS: Throw on assignment of an const variable
Was stubbed out as an assert, should be handled with a runtime exception.
This commit is contained in:
parent
8e87d340c3
commit
0d41e542b7
Notes:
sideshowbarker
2024-07-19 07:38:42 +09:00
Author: https://github.com/bgianfo
Commit: 0d41e542b7
Pull-request: https://github.com/SerenityOS/serenity/pull/1773
Reviewed-by: https://github.com/awesomekling
2 changed files with 29 additions and 2 deletions
25
Libraries/LibJS/Tests/variable-declaration.js
Normal file
25
Libraries/LibJS/Tests/variable-declaration.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
try {
|
||||
|
||||
const ConstantValue = 1;
|
||||
try {
|
||||
ConstantValue = 2;
|
||||
} catch (e) {
|
||||
assert(e.name === "TypeError");
|
||||
assert(e.message === "Assignment to constant variable");
|
||||
assert(ConstantValue === 1);
|
||||
}
|
||||
|
||||
// Make sure we can define new constants in inner scopes.
|
||||
//
|
||||
const ConstantValue2 = 1;
|
||||
|
||||
do
|
||||
{
|
||||
const ConstantValue2 = 2;
|
||||
}
|
||||
while (false)
|
||||
|
||||
console.log("PASS");
|
||||
} catch (e) {
|
||||
console.log("FAIL: " + e);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue