mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-11-04 07:10:57 +00:00 
			
		
		
		
	
		
			
	
	
		
			36 lines
		
	
	
	
		
			1,011 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
	
		
			1,011 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								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");
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								});
							 |