mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 13:20:59 +00:00 
			
		
		
		
	
		
			
	
	
		
			49 lines
		
	
	
	
		
			955 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			49 lines
		
	
	
	
		
			955 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | load("test-common.js"); | ||
|  | 
 | ||
|  | try { | ||
|  |     var a = [1, 2, 3]; | ||
|  | 
 | ||
|  |     assert(a.length === 3); | ||
|  |     assert(a[0] === 1); | ||
|  |     assert(a[1] === 2); | ||
|  |     assert(a[2] === 3); | ||
|  | 
 | ||
|  |     a.length = 5; | ||
|  |     assert(a.length === 5); | ||
|  |     assert(a[0] === 1); | ||
|  |     assert(a[1] === 2); | ||
|  |     assert(a[2] === 3); | ||
|  |     assert(a[3] === undefined); | ||
|  |     assert(a[4] === undefined); | ||
|  | 
 | ||
|  |     a.length = 1; | ||
|  |     assert(a.length === 1); | ||
|  |     assert(a[0] === 1); | ||
|  | 
 | ||
|  |     a.length = 0; | ||
|  |     assert(a.length === 0); | ||
|  | 
 | ||
|  |     a.length = "42"; | ||
|  |     assert(a.length === 42); | ||
|  | 
 | ||
|  |     a.length = []; | ||
|  |     assert(a.length === 0); | ||
|  | 
 | ||
|  |     a.length = true; | ||
|  |     assert(a.length === 1); | ||
|  | 
 | ||
|  |     [undefined, "foo", -1, Infinity, -Infinity, NaN].forEach(value => { | ||
|  |         assertThrowsError(() => { | ||
|  |             a.length = value; | ||
|  |         }, { | ||
|  |             error: RangeError, | ||
|  |             message: "Invalid array length" | ||
|  |         }); | ||
|  |         assert(a.length === 1); | ||
|  |     }); | ||
|  | 
 | ||
|  |     console.log("PASS"); | ||
|  | } catch (e) { | ||
|  |     console.log("FAIL: " + e); | ||
|  | } |