1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:47:46 +00:00

LibJS: Implement Object.isFrozen() and Object.isSealed()

This commit is contained in:
Linus Groh 2021-04-06 22:45:12 +02:00 committed by Andreas Kling
parent 9af07c7803
commit f3264b0dbd
7 changed files with 105 additions and 0 deletions

View file

@ -0,0 +1,27 @@
test("length is 1", () => {
expect(Object.isSealed).toHaveLength(1);
});
describe("normal behavior", () => {
test("returns true for non-object argument", () => {
expect(Object.isSealed(42)).toBeTrue();
expect(Object.isSealed("foobar")).toBeTrue();
});
test("returns false for regular object", () => {
const o = { foo: "bar" };
expect(Object.isSealed(o)).toBeFalse();
});
test("returns true for sealed object", () => {
const o = { foo: "bar" };
Object.seal(o);
expect(Object.isSealed(o)).toBeTrue();
});
test("returns true for non-extensible empty object", () => {
const o = {};
Object.preventExtensions(o);
expect(Object.isSealed(o)).toBeTrue();
});
});