// This file was procedurally generated from the following sources: // - src/annex-b-fns/eval-global-existing-global-init.case // - src/annex-b-fns/eval-global/direct-block.template /*--- description: Variable binding is set to `undefined` (Block statement in eval code containing a function declaration) esid: sec-web-compat-evaldeclarationinstantiation es6id: B.3.3.3 flags: [generated, noStrict] includes: [fnGlobalObject.js, propertyHelper.js] info: | B.3.3.3 Changes to EvalDeclarationInstantiation [...] i. If varEnvRec is a global Environment Record, then i. Perform ? varEnvRec.CreateGlobalFunctionBinding(F, undefined, true). [...] 8.1.1.4.18 CreateGlobalFunctionBinding [...] 5. If existingProp is undefined or existingProp.[[Configurable]] is true, then [...] 6. Else, a. Let desc be the PropertyDescriptor{[[Value]]: V }. [...] ---*/ Object.defineProperty(fnGlobalObject(), 'f', { value: 'x', enumerable: true, writable: true, configurable: false }); eval( 'var global = fnGlobalObject();\ assert.sameValue(f, undefined, "binding is initialized to `undefined`");\ \ verifyEnumerable(global, "f");\ verifyWritable(global, "f");\ verifyNotConfigurable(global, "f");{ function f() { } }' );