1234567891011121314151617181920212223242526272829303132333435 |
- describe("basic functionality", () => {
- test("length", () => {
- expect(Object.hasOwn).toHaveLength(2);
- });
- test("returns true for existent own property", () => {
- const o = { foo: "bar" };
- expect(Object.hasOwn(o, "foo")).toBeTrue();
- });
- test("returns false for non-existent own property", () => {
- const o = {};
- expect(Object.hasOwn(o, "foo")).toBeFalse();
- });
- test("returns false for existent prototype chain property", () => {
- const o = {};
- Object.prototype.foo = "bar";
- expect(Object.hasOwn(o, "foo")).toBeFalse();
- });
- });
- describe("errors", () => {
- test("null argument", () => {
- expect(() => {
- Object.hasOwn(null);
- }).toThrowWithMessage(TypeError, "ToObject on null or undefined");
- });
- test("undefined argument", () => {
- expect(() => {
- Object.hasOwn(undefined);
- }).toThrowWithMessage(TypeError, "ToObject on null or undefined");
- });
- });
|