mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 19:53:50 +01:00 
			
		
		
		
	* Assert creation of 'arguments' object Ensure that the 'arguments' object is created in cases where it is not required by the body but is required by the parameters. * Add tests for cases that disable "arguments" map * Add tests for NewTarget override of bound function * Add test for properties of exotic String objects
		
			
				
	
	
		
			31 lines
		
	
	
		
			829 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			829 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Copyright (C) 2016 the V8 project authors. All rights reserved.
 | |
| // This code is governed by the BSD license found in the LICENSE file.
 | |
| /*---
 | |
| esid: sec-functiondeclarationinstantiation
 | |
| es6id: 9.2.12
 | |
| description: >
 | |
|   Arguments object is created even when the body contains a function named
 | |
|   "arguments"
 | |
| info: |
 | |
|   [...]
 | |
|   19. Else if "arguments" is an element of parameterNames, then
 | |
|       a. Let argumentsObjectNeeded be false.
 | |
|   20. Else if hasParameterExpressions is false, then
 | |
|       a. If "arguments" is an element of functionNames or if "arguments" is an
 | |
|          element of lexicalNames, then
 | |
|          i. Let argumentsObjectNeeded be false.
 | |
|   [...]
 | |
| flags: [noStrict]
 | |
| ---*/
 | |
| 
 | |
| var args;
 | |
| 
 | |
| function f(x = args = arguments) {
 | |
|   let arguments;
 | |
| }
 | |
| 
 | |
| f();
 | |
| 
 | |
| assert.sameValue(typeof args, 'object');
 | |
| assert.sameValue(args.length, 0);
 |