text: // Copyright (C) 2016 the V8 project authors. All rights reserved.
  // This code is governed by the BSD license found in the LICENSE file.
  /*---
  desc: SingleNameBinding assigns `name` to "anonymous" classes
  template: default
  info: |
      13.3.3.6 Runtime Semantics: IteratorBindingInitialization
  
      SingleNameBinding : BindingIdentifier Initializeropt
  
      [...]
      6. If Initializer is present and v is undefined, then
         a. Let defaultValue be the result of evaluating Initializer.
         b. Let v be GetValue(defaultValue).
         c. ReturnIfAbrupt(v).
         d. If IsAnonymousFunctionDefinition(Initializer) is true, then
            [...]
      7. If environment is undefined, return PutValue(lhs, v).
      8. Return InitializeReferencedBinding(lhs, v).
  ---*/
  
  //- elems
  [cls = class {}, xCls = class X {}, xCls2 = class { static name() {} }]
  //- vals
  []
  //- body
  assert.sameValue(cls.name, 'cls');
  assert.notSameValue(xCls.name, 'xCls');
  assert.notSameValue(xCls2.name, 'xCls2');
  