text: // 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`");\
    \
    verifyProperty(global, "f", {\
      enumerable: true,\
      writable: true,\
      configurable: false\
    });{ function f() {  } }'
  );
  