mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-30 21:01:00 +00:00 
			
		
		
		
	
		
			
	
	
		
			32 lines
		
	
	
	
		
			872 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
	
		
			872 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | test("constructor properties", () => { | ||
|  |     expect(Set).toHaveLength(0); | ||
|  |     expect(Set.name).toBe("Set"); | ||
|  | }); | ||
|  | 
 | ||
|  | describe("errors", () => { | ||
|  |     test("invalid array iterators", () => { | ||
|  |         [-100, Infinity, NaN, {}, 152n].forEach(value => { | ||
|  |             expect(() => { | ||
|  |                 new Set(value); | ||
|  |             }).toThrowWithMessage(TypeError, "is not iterable"); | ||
|  |         }); | ||
|  |     }); | ||
|  |     test("called without new", () => { | ||
|  |         expect(() => { | ||
|  |             Set(); | ||
|  |         }).toThrowWithMessage(TypeError, "Set constructor must be called with 'new'"); | ||
|  |     }); | ||
|  | }); | ||
|  | 
 | ||
|  | describe("normal behavior", () => { | ||
|  |     test("typeof", () => { | ||
|  |         expect(typeof new Set()).toBe("object"); | ||
|  |     }); | ||
|  | 
 | ||
|  |     test("constructor with single array argument", () => { | ||
|  |         var a = new Set([0, 1, 2]); | ||
|  |         expect(a instanceof Set).toBeTrue(); | ||
|  |         expect(a).toHaveSize(3); | ||
|  |     }); | ||
|  | }); |