| OLD | NEW | 
|   1 // Copyright 2015 the V8 project authors. All rights reserved. |   1 // Copyright 2015 the V8 project authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 var typedArrayConstructors = [ |   5 var typedArrayConstructors = [ | 
|   6   Uint8Array, |   6   Uint8Array, | 
|   7   Int8Array, |   7   Int8Array, | 
|   8   Uint16Array, |   8   Uint16Array, | 
|   9   Int16Array, |   9   Int16Array, | 
|  10   Uint32Array, |  10   Uint32Array, | 
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  61     constructor.prototype.slice.call([], 0, 0); |  61     constructor.prototype.slice.call([], 0, 0); | 
|  62   }, TypeError); |  62   }, TypeError); | 
|  63  |  63  | 
|  64   // Check that elements are copied properly in slice |  64   // Check that elements are copied properly in slice | 
|  65   array = new constructor([1, 2, 3, 4]); |  65   array = new constructor([1, 2, 3, 4]); | 
|  66   var slice = array.slice(1, 3); |  66   var slice = array.slice(1, 3); | 
|  67   assertEquals(2, slice.length); |  67   assertEquals(2, slice.length); | 
|  68   assertEquals(2, slice[0]); |  68   assertEquals(2, slice[0]); | 
|  69   assertEquals(3, slice[1]); |  69   assertEquals(3, slice[1]); | 
|  70   assertTrue(slice instanceof constructor); |  70   assertTrue(slice instanceof constructor); | 
 |  71  | 
 |  72   // Check that the species array must be a typed array | 
 |  73   class MyTypedArray extends constructor { | 
 |  74     static get[Symbol.species]() { | 
 |  75       return Array; | 
 |  76     } | 
 |  77   } | 
 |  78   var arr = new MyTypedArray([-1.0, 0, 1.1, 255, 256]); | 
 |  79   assertThrows(() => arr.slice(), TypeError); | 
|  71 } |  80 } | 
 |  81  | 
 |  82 // Check that the result array is properly created by checking species | 
 |  83 for (var constructor1 of typedArrayConstructors) { | 
 |  84   for (var constructor2 of typedArrayConstructors) { | 
 |  85     class MyTypedArray2 extends constructor1 { | 
 |  86       static get[Symbol.species]() { | 
 |  87         return constructor2; | 
 |  88       } | 
 |  89     } | 
 |  90     var arr = new MyTypedArray2([-1.0, 0, 1.1, 255, 256]); | 
 |  91     var arr2 = new constructor1([-1.0, 0, 1.1, 255, 256]); | 
 |  92     assertEquals(new constructor2(arr2), arr.slice(), | 
 |  93                  constructor1.name + ' -> ' + constructor2.name); | 
 |  94   } | 
 |  95 } | 
| OLD | NEW |