mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-11-03 23:00:58 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
	
		
			969 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			34 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();
 | 
						|
    });
 | 
						|
});
 |