mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-24 22:32:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| test("constructor properties", () => {
 | |
|     expect(Array).toHaveLength(1);
 | |
|     expect(Array.name).toBe("Array");
 | |
|     expect(Array.prototype.length).toBe(0);
 | |
| });
 | |
| 
 | |
| describe("errors", () => {
 | |
|     test("invalid array length", () => {
 | |
|         [-1, -100, -0.1, 0.1, 1.23, Infinity, -Infinity, NaN].forEach(value => {
 | |
|             expect(() => {
 | |
|                 new Array(value);
 | |
|             }).toThrowWithMessage(RangeError, "Invalid array length");
 | |
|         });
 | |
|     });
 | |
| });
 | |
| 
 | |
| describe("normal behavior", () => {
 | |
|     test("typeof", () => {
 | |
|         expect(typeof Array()).toBe("object");
 | |
|         expect(typeof new Array()).toBe("object");
 | |
|     });
 | |
| 
 | |
|     test("constructor with single numeric argument", () => {
 | |
|         var a = new Array(5);
 | |
|         expect(a instanceof Array).toBeTrue();
 | |
|         expect(a).toHaveLength(5);
 | |
|     });
 | |
| 
 | |
|     test("constructor with single non-numeric argument", () => {
 | |
|         var a = new Array("5");
 | |
|         expect(a instanceof Array).toBeTrue();
 | |
|         expect(a).toHaveLength(1);
 | |
|         expect(a[0]).toBe("5");
 | |
|     });
 | |
| 
 | |
|     test("constructor with multiple numeric arguments", () => {
 | |
|         var a = new Array(1, 2, 3);
 | |
|         expect(a instanceof Array).toBeTrue();
 | |
|         expect(a).toHaveLength(3);
 | |
|         expect(a[0]).toBe(1);
 | |
|         expect(a[1]).toBe(2);
 | |
|         expect(a[2]).toBe(3);
 | |
|     });
 | |
| 
 | |
|     test("constructor with single array argument", () => {
 | |
|         var a = new Array([1, 2, 3]);
 | |
|         expect(a instanceof Array).toBeTrue();
 | |
|         expect(a).toHaveLength(1);
 | |
|         expect(a[0][0]).toBe(1);
 | |
|         expect(a[0][1]).toBe(2);
 | |
|         expect(a[0][2]).toBe(3);
 | |
|     });
 | |
| });
 | 
