mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 03:34:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			833 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			833 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Copyright (c) 2012 Ecma International.  All rights reserved.
 | |
| // This code is governed by the BSD license found in the LICENSE file.
 | |
| 
 | |
| /*---
 | |
| es5id: 15.2.3.14-5-13
 | |
| description: >
 | |
|     Object.keys - own enumerable indexed data property of sparse array
 | |
|     'O' is defined in returned array
 | |
| ---*/
 | |
| 
 | |
| var obj = [1, , 3, , 5];
 | |
| 
 | |
| Object.defineProperty(obj, 5, {
 | |
|   value: 7,
 | |
|   enumerable: false,
 | |
|   configurable: true
 | |
| });
 | |
| 
 | |
| Object.defineProperty(obj, 10000, {
 | |
|   value: "ElementWithLargeIndex",
 | |
|   enumerable: true,
 | |
|   configurable: true
 | |
| });
 | |
| 
 | |
| var arr = Object.keys(obj);
 | |
| 
 | |
| var index;
 | |
| var initValue = 0;
 | |
| for (index = 0; index < 3; index++) {
 | |
|   assert.sameValue(arr[index], initValue.toString(), 'Unexpected property at index: ' + index);
 | |
|   initValue += 2;
 | |
| }
 | |
| 
 | |
| assert.sameValue(arr.length, 4, 'arr.length');
 | |
| assert.sameValue(arr[3], "10000", 'arr[3]');
 |