mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 18:55:07 +00: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
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