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