1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-10 05:47:34 +00:00

LibJS: Fix PropertyName::from_value() for negative and non-int numbers

It was converting *any* number to an i32 index, which obviously is not
correct for negative ints, doubles, infinity and nan.

Fixes #3712.
This commit is contained in:
Linus Groh 2020-10-07 19:53:30 +01:00 committed by Andreas Kling
parent 44d4423229
commit bc78e4b7da
2 changed files with 16 additions and 4 deletions

View file

@ -0,0 +1,12 @@
test("Issue #3712, negative/non-int computed property in object expression", () => {
const o = {
[1.23]: "foo",
[-1]: "foo",
[NaN]: "foo",
[Infinity]: "foo",
};
expect(o[1.23]).toBe("foo");
expect(o[-1]).toBe("foo");
expect(o[NaN]).toBe("foo");
expect(o[Infinity]).toBe("foo");
});