mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 05:10:57 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1 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);
 | |
| }
 | 
