OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 | 5 |
6 var constructors = [Uint8Array, Int8Array, | 6 var constructors = [Uint8Array, Int8Array, |
7 Uint16Array, Int16Array, | 7 Uint16Array, Int16Array, |
8 Uint32Array, Int32Array, | 8 Uint32Array, Int32Array, |
9 Float32Array, Float64Array, | 9 Float32Array, Float64Array, |
10 Uint8ClampedArray]; | 10 Uint8ClampedArray]; |
11 | 11 |
12 function TestTypedArrayPrototype(constructor) { | 12 var TypedArrayPrototype = Uint8Array.prototype.__proto__; |
13 assertTrue(constructor.prototype.hasOwnProperty('entries')); | |
14 assertTrue(constructor.prototype.hasOwnProperty('values')); | |
15 assertTrue(constructor.prototype.hasOwnProperty('keys')); | |
16 assertTrue(constructor.prototype.hasOwnProperty(Symbol.iterator)); | |
17 | 13 |
18 assertFalse(constructor.prototype.propertyIsEnumerable('entries')); | 14 assertTrue(TypedArrayPrototype.hasOwnProperty('entries')); |
19 assertFalse(constructor.prototype.propertyIsEnumerable('values')); | 15 assertTrue(TypedArrayPrototype.hasOwnProperty('values')); |
20 assertFalse(constructor.prototype.propertyIsEnumerable('keys')); | 16 assertTrue(TypedArrayPrototype.hasOwnProperty('keys')); |
21 assertFalse(constructor.prototype.propertyIsEnumerable(Symbol.iterator)); | 17 assertTrue(TypedArrayPrototype.hasOwnProperty(Symbol.iterator)); |
22 | 18 |
23 assertEquals(Array.prototype.entries, constructor.prototype.entries); | 19 assertFalse(TypedArrayPrototype.propertyIsEnumerable('entries')); |
24 assertEquals(Array.prototype[Symbol.iterator], constructor.prototype.values); | 20 assertFalse(TypedArrayPrototype.propertyIsEnumerable('values')); |
25 assertEquals(Array.prototype.keys, constructor.prototype.keys); | 21 assertFalse(TypedArrayPrototype.propertyIsEnumerable('keys')); |
26 assertEquals(Array.prototype[Symbol.iterator], constructor.prototype[Symbol.it
erator]); | 22 assertFalse(TypedArrayPrototype.propertyIsEnumerable(Symbol.iterator)); |
27 } | 23 |
28 constructors.forEach(TestTypedArrayPrototype); | 24 assertEquals(Array.prototype.entries, TypedArrayPrototype.entries); |
| 25 assertEquals(Array.prototype[Symbol.iterator], TypedArrayPrototype.values); |
| 26 assertEquals(Array.prototype.keys, TypedArrayPrototype.keys); |
| 27 assertEquals(Array.prototype[Symbol.iterator], TypedArrayPrototype[Symbol.iterat
or]); |
29 | 28 |
30 | 29 |
31 function TestTypedArrayValues(constructor) { | 30 function TestTypedArrayValues(constructor) { |
32 var array = [1, 2, 3]; | 31 var array = [1, 2, 3]; |
33 var i = 0; | 32 var i = 0; |
34 for (var value of new constructor(array)) { | 33 for (var value of new constructor(array)) { |
35 assertEquals(array[i++], value); | 34 assertEquals(array[i++], value); |
36 } | 35 } |
37 assertEquals(i, array.length); | 36 assertEquals(i, array.length); |
38 } | 37 } |
39 constructors.forEach(TestTypedArrayValues); | 38 constructors.forEach(TestTypedArrayValues); |
OLD | NEW |