1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 21:48:13 +00:00

LibJS: Use a custom property_name_to_value method instead of to_value

This commit is contained in:
davidot 2021-07-05 01:59:50 +02:00 committed by Linus Groh
parent 721238f41c
commit ce59e49e27
7 changed files with 104 additions and 6 deletions

View file

@ -27,6 +27,25 @@ describe("[[DefineProperty]] trap normal behavior", () => {
Object.defineProperty(p, "foo", { configurable: true, writable: true, value: 10 });
});
test("correct arguments passed to trap even for number", () => {
let o = {};
p = new Proxy(o, {
defineProperty(target, name, descriptor) {
expect(target).toBe(o);
expect(name).toBe("1");
expect(descriptor.configurable).toBeTrue();
expect(descriptor.enumerable).toBeUndefined();
expect(descriptor.writable).toBeTrue();
expect(descriptor.value).toBe(10);
expect(descriptor.get).toBeUndefined();
expect(descriptor.set).toBeUndefined();
return true;
},
});
Object.defineProperty(p, 1, { configurable: true, writable: true, value: 10 });
});
test("optionally ignoring the define call", () => {
let o = {};
let p = new Proxy(o, {