mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 05:10:57 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| load("test-common.js");
 | |
| 
 | |
| try {
 | |
|     assert(Array.length === 1);
 | |
|     assert(Array.name === "Array");
 | |
|     assert(Array.prototype.length === 0);
 | |
| 
 | |
|     assert(typeof Array() === "object");
 | |
|     assert(typeof new Array() === "object");
 | |
| 
 | |
|     var a;
 | |
| 
 | |
|     a = new Array(5);
 | |
|     assert(a.length === 5);
 | |
| 
 | |
|     a = new Array("5");
 | |
|     assert(a.length === 1);
 | |
|     assert(a[0] === "5");
 | |
| 
 | |
|     a = new Array(1, 2, 3);
 | |
|     assert(a.length === 3);
 | |
|     assert(a[0] === 1);
 | |
|     assert(a[1] === 2);
 | |
|     assert(a[2] === 3);
 | |
| 
 | |
|     a = new Array([1, 2, 3]);
 | |
|     assert(a.length === 1);
 | |
|     assert(a[0][0] === 1);
 | |
|     assert(a[0][1] === 2);
 | |
|     assert(a[0][2] === 3);
 | |
| 
 | |
|     a = new Array(1, 2, 3);
 | |
|     Object.defineProperty(a, 3, {
 | |
|         get() {
 | |
|             return 10;
 | |
|         },
 | |
|     });
 | |
|     assert(a.toString() === "1,2,3,10");
 | |
| 
 | |
|     [-1, -100, -0.1, 0.1, 1.23, Infinity, -Infinity, NaN].forEach(value => {
 | |
|         assertThrowsError(
 | |
|             () => {
 | |
|                 new Array(value);
 | |
|             },
 | |
|             {
 | |
|                 error: TypeError,
 | |
|                 message: "Invalid array length",
 | |
|             }
 | |
|         );
 | |
|     });
 | |
| 
 | |
|     console.log("PASS");
 | |
| } catch (e) {
 | |
|     console.log("FAIL: " + e);
 | |
| }
 | 
