mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-08 20:22:55 +00:00
LibJS: Make string to integer parsing for properties more strict
This does break two TypedArray test262 test but those really were not correct because hasProperty was not implemented
This commit is contained in:
parent
105e72cdad
commit
f7e2994f35
Notes:
sideshowbarker
2024-07-18 11:39:05 +09:00
Author: https://github.com/davidot
Commit: f7e2994f35
Pull-request: https://github.com/SerenityOS/serenity/pull/8191
3 changed files with 62 additions and 7 deletions
|
@ -0,0 +1,49 @@
|
|||
describe("normal behavior", () => {
|
||||
var arr = [3, 4, 5];
|
||||
|
||||
test("basic", () => {
|
||||
expect(arr["0"]).toBe(3);
|
||||
expect(arr["1"]).toBe(4);
|
||||
expect(arr["2"]).toBe(5);
|
||||
});
|
||||
|
||||
test("above length", () => {
|
||||
expect(arr["3"]).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
||||
describe("strings with extra characters", () => {
|
||||
var arr = [3, 4, 5];
|
||||
|
||||
test("whitespace", () => {
|
||||
expect(arr[" 0"]).toBeUndefined();
|
||||
expect(arr["0 "]).toBeUndefined();
|
||||
expect(arr[" 0"]).toBeUndefined();
|
||||
expect(arr[" 0 "]).toBeUndefined();
|
||||
expect(arr[" 3 "]).toBeUndefined();
|
||||
});
|
||||
|
||||
test("leading 0", () => {
|
||||
expect(arr["00"]).toBeUndefined();
|
||||
expect(arr["01"]).toBeUndefined();
|
||||
expect(arr["02"]).toBeUndefined();
|
||||
expect(arr["03"]).toBeUndefined();
|
||||
});
|
||||
|
||||
test("leading +/-", () => {
|
||||
["+", "-"].forEach(op => {
|
||||
expect(arr[op + "0"]).toBeUndefined();
|
||||
expect(arr[op + "1"]).toBeUndefined();
|
||||
|
||||
expect(arr[op + "-0"]).toBeUndefined();
|
||||
expect(arr[op + "+0"]).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
||||
test("combined", () => {
|
||||
expect(arr["+00"]).toBeUndefined();
|
||||
expect(arr[" +0"]).toBeUndefined();
|
||||
expect(arr[" +0 "]).toBeUndefined();
|
||||
expect(arr[" 00 "]).toBeUndefined();
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue