mirror of
https://github.com/zebrajr/ladybird.git
synced 2025-12-06 12:20:00 +01:00
This matches our coding style recommendation in CodingStyle.md, and matches our python formatting.
55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
test("length is 2", () => {
|
|
expect(Object.create).toHaveLength(2);
|
|
});
|
|
|
|
describe("errors", () => {
|
|
test("non-object prototype value", () => {
|
|
expect(() => Object.create(42)).toThrowWithMessage(TypeError, "Prototype must be an object or null");
|
|
});
|
|
});
|
|
|
|
describe("normal behavior", () => {
|
|
test("creates object with given prototype", () => {
|
|
let o;
|
|
|
|
o = Object.create(null);
|
|
expect(o).toEqual({});
|
|
expect(Object.getPrototypeOf(o)).toBe(null);
|
|
|
|
const p = {};
|
|
o = Object.create(p);
|
|
expect(o).toEqual({});
|
|
expect(Object.getPrototypeOf(o)).toBe(p);
|
|
});
|
|
|
|
test("creates object with properties from propertiesObject, if given", () => {
|
|
const o = Object.create(
|
|
{},
|
|
{
|
|
foo: {
|
|
writable: true,
|
|
configurable: true,
|
|
value: "foo",
|
|
},
|
|
bar: {
|
|
enumerable: true,
|
|
value: "bar",
|
|
},
|
|
}
|
|
);
|
|
expect(Object.getOwnPropertyNames(o)).toEqual(["foo", "bar"]);
|
|
expect(Object.getOwnPropertyDescriptor(o, "foo")).toEqual({
|
|
value: "foo",
|
|
writable: true,
|
|
enumerable: false,
|
|
configurable: true,
|
|
});
|
|
expect(Object.getOwnPropertyDescriptor(o, "bar")).toEqual({
|
|
value: "bar",
|
|
writable: false,
|
|
enumerable: true,
|
|
configurable: false,
|
|
});
|
|
});
|
|
});
|