mirror of
				https://github.com/tc39/test262.git
				synced 2025-11-04 05:33:50 +01:00 
			
		
		
		
	Add missing variable declarations (issue #35) Split S12.6.3_A10 and S12.6.3_A10.1 because both files seem to test implicit global variables (issue #35) Changes (issue #35) - Add missing noStrict flags. - Change 13.2-15-1 and 13.2-18-1 to use assert.js and propertyHelper.js (simplifies writable and configurable checks while in strict mode). - Add variable declarations for globals. - Create copies of S13.2.1_A6_T1 and S13.2.1_A6_T2 instead of adding variable declarations, because both files seem to test implicit global variables. - Split S13_A14 and S13_A16 to work in strict mode. - Remove assignment to .name property. Add missing noStrict flags (issue #35) Add missing noStrict flags and variable declarations (issue #35) Add missing noStrict flags (issue #35)
		
			
				
	
	
		
			38 lines
		
	
	
		
			819 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			819 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// Copyright 2009 the Sputnik authors.  All rights reserved.
 | 
						|
// This code is governed by the BSD license found in the LICENSE file.
 | 
						|
 | 
						|
/*---
 | 
						|
info: Function's scope chain is started when it is declared
 | 
						|
es5id: 13.2.2_A19_T4
 | 
						|
description: >
 | 
						|
    Function is declared in the hierarchical object scope and then an
 | 
						|
    exception is thrown
 | 
						|
flags: [noStrict]
 | 
						|
---*/
 | 
						|
 | 
						|
var a = 1;
 | 
						|
 | 
						|
var __obj = {a:2,__obj:{a:3}};
 | 
						|
 | 
						|
try {
 | 
						|
	with (__obj)
 | 
						|
    {
 | 
						|
        with(__obj){
 | 
						|
            var __func = function(){return a;};
 | 
						|
            throw 5;
 | 
						|
        }
 | 
						|
    }
 | 
						|
} catch (e) {
 | 
						|
	;
 | 
						|
}
 | 
						|
 | 
						|
result = __func();
 | 
						|
 | 
						|
//////////////////////////////////////////////////////////////////////////////
 | 
						|
//CHECK#1
 | 
						|
if (result !== 3) {
 | 
						|
	$ERROR('#1: result === 3. Actual: result ==='+result);
 | 
						|
}
 | 
						|
//
 | 
						|
//////////////////////////////////////////////////////////////////////////////
 |