mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 03:34:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			972 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			972 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Copyright 2018 the V8 project authors. All rights reserved.
 | |
| // Use of this source code is governed by a BSD-style license that can be
 | |
| // found in the LICENSE file.
 | |
| 
 | |
| // Flags: --allow-natives-syntax
 | |
| 
 | |
| const constructors = [
 | |
|   [Uint8Array, [0, 1]],
 | |
|   [Int8Array, [0, 1]],
 | |
|   [Uint16Array, [0, 1]],
 | |
|   [Int16Array, [0, 1]],
 | |
|   [Uint32Array, [0, 1]],
 | |
|   [Int32Array, [0, 1]],
 | |
|   [Float32Array, [0, 1]],
 | |
|   [Float64Array, [0, 1]],
 | |
|   [Uint8ClampedArray, [0, 1]],
 | |
|   [BigInt64Array, [0n, 1n]],
 | |
|   [BigUint64Array, [0n, 1n]]
 | |
| ];
 | |
| 
 | |
| let typedArray;
 | |
| function detachBuffer() {
 | |
|   %ArrayBufferDetach(typedArray.buffer);
 | |
|   return 'a';
 | |
| }
 | |
| Number.prototype.toString = detachBuffer;
 | |
| BigInt.prototype.toString = detachBuffer;
 | |
| Number.prototype.toLocaleString = detachBuffer;
 | |
| BigInt.prototype.toLocaleString = detachBuffer;
 | |
| 
 | |
| constructors.forEach(([constructor, arr]) => {
 | |
|   typedArray = new constructor(arr);
 | |
|   assertSame(typedArray.join(), '0,1');
 | |
|   assertSame(typedArray.toLocaleString(), 'a,');
 | |
| });
 |