1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:57:43 +00:00

LibJS: Fix that constant declaration in for loop was mutable in body

This commit is contained in:
davidot 2022-11-30 01:45:35 +01:00 committed by Andreas Kling
parent 714f0c3dce
commit 8319d7ac06
3 changed files with 34 additions and 4 deletions

View file

@ -142,4 +142,14 @@ describe("special left hand sides", () => {
eval("for (f() of [0]) { expect().fail() }");
}).toThrowWithMessage(ReferenceError, "Invalid left-hand side in assignment");
});
test("Cannot change constant declaration in body", () => {
const vals = [];
for (const v of [1, 2]) {
expect(() => v++).toThrowWithMessage(TypeError, "Invalid assignment to const variable");
vals.push(v);
}
expect(vals).toEqual([1, 2]);
});
});