instn-local-bndng-var.js (1330B)
1 // |reftest| module 2 // Copyright (C) 2016 the V8 project authors. All rights reserved. 3 // This code is governed by the BSD license found in the LICENSE file. 4 /*--- 5 description: > 6 Mutable bindings are initialized in the lexical environment record prior to 7 execution for variable declarations 8 esid: sec-moduledeclarationinstantiation 9 info: | 10 [...] 11 13. Let varDeclarations be the VarScopedDeclarations of code. 12 14. Let declaredVarNames be a new empty List. 13 15. For each element d in varDeclarations do 14 a. For each element dn of the BoundNames of d do 15 i. If dn is not an element of declaredVarNames, then 16 1. Perform ! envRec.CreateMutableBinding(dn, false). 17 2. Call envRec.InitializeBinding(dn, undefined). 18 3. Append dn to declaredVarNames. 19 [...] 20 includes: [fnGlobalObject.js] 21 flags: [module] 22 ---*/ 23 24 var global = fnGlobalObject(); 25 26 assert.sameValue(test262, undefined, 'value is initialized to `undefined`'); 27 assert.sameValue( 28 Object.getOwnPropertyDescriptor(global, 'test262'), undefined 29 ); 30 31 var test262 = null; 32 33 assert.sameValue(test262, null, 'binding is mutable'); 34 assert.sameValue( 35 Object.getOwnPropertyDescriptor(global, 'test262'), 36 undefined, 37 'global binding is not effected by evaluation of declaration' 38 ); 39 40 reportCompare(0, 0);