mirror of
				https://github.com/tc39/test262.git
				synced 2025-11-04 05:33:50 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			985 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			985 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// Copyright 2015 Microsoft Corporation. All rights reserved.
 | 
						|
// This code is governed by the license found in the LICENSE file.
 | 
						|
 | 
						|
/*---
 | 
						|
description: >
 | 
						|
    Elements deleted after the call started and before visited are not
 | 
						|
    visited
 | 
						|
esid: sec-array.from
 | 
						|
---*/
 | 
						|
 | 
						|
var originalArray = [0, 1, -2, 4, -8, 16];
 | 
						|
var array = [0, 1, -2, 4, -8, 16];
 | 
						|
var a = [];
 | 
						|
var arrayIndex = -1;
 | 
						|
 | 
						|
function mapFn(value, index) {
 | 
						|
  this.arrayIndex++;
 | 
						|
  assert.sameValue(value, array[this.arrayIndex], "Value mismatch in mapFn at index " + index + ".");
 | 
						|
  assert.sameValue(index, this.arrayIndex, "Index mismatch in mapFn.");
 | 
						|
 | 
						|
  array.splice(array.length - 1, 1);
 | 
						|
  return 127;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
a = Array.from(array, mapFn, this);
 | 
						|
 | 
						|
assert.sameValue(a.length, originalArray.length / 2, "Length mismatch. Old array : " + (originalArray.length / 2) + ". array : " + a.length + ".");
 | 
						|
 | 
						|
for (var j = 0; j < originalArray.length / 2; j++) {
 | 
						|
  assert.sameValue(a[j], 127, "Element mismatch for mapped array at index " + j + ".");
 | 
						|
}
 |