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 // Array's toString should call the object's own join method, if one exists and | 5 // Array's toString should call the object's own join method, if one exists and |
6 // is callable. Otherwise, just use the original Object.toString function. | 6 // is callable. Otherwise, just use the original Object.toString function. |
7 | 7 |
8 // Flags: --allow-natives-syntax | |
9 | |
10 var typedArrayConstructors = [ | 8 var typedArrayConstructors = [ |
11 Uint8Array, | 9 Uint8Array, |
12 Int8Array, | 10 Int8Array, |
13 Uint16Array, | 11 Uint16Array, |
14 Int16Array, | 12 Int16Array, |
15 Uint32Array, | 13 Uint32Array, |
16 Int32Array, | 14 Int32Array, |
17 Uint8ClampedArray, | 15 Uint8ClampedArray, |
18 Float32Array, | 16 Float32Array, |
19 Float64Array | 17 Float64Array |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 let pushArgs = (label) => (...args) => log.push(label, args); | 89 let pushArgs = (label) => (...args) => log.push(label, args); |
92 | 90 |
93 let NumberToLocaleString = Number.prototype.toLocaleString; | 91 let NumberToLocaleString = Number.prototype.toLocaleString; |
94 Number.prototype.toLocaleString = pushArgs("Number"); | 92 Number.prototype.toLocaleString = pushArgs("Number"); |
95 | 93 |
96 (new constructor([1, 2])).toLocaleString(); | 94 (new constructor([1, 2])).toLocaleString(); |
97 assertEquals(["Number", [], "Number", []], log); | 95 assertEquals(["Number", [], "Number", []], log); |
98 | 96 |
99 Number.prototype.toLocaleString = NumberToLocaleString; | 97 Number.prototype.toLocaleString = NumberToLocaleString; |
100 })(); | 98 })(); |
101 | |
102 // Detached Operation | |
103 var array = new constructor([1, 2, 3]); | |
104 %ArrayBufferNeuter(array.buffer); | |
105 assertThrows(() => array.join(), TypeError); | |
106 assertThrows(() => array.toLocalString(), TypeError); | |
107 assertThrows(() => array.toString(), TypeError); | |
108 } | 99 } |
OLD | NEW |