// Copyright (C) 2021 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-runtime-semantics-classstaticblockdefinitionevaluation
description: Creation of new environment record for lexically-scoped bindings
info: |
  ClassStaticBlock : static { ClassStaticBlockBody }

    1. Let lex be the running execution context's LexicalEnvironment.
    2. Let privateScope be the running execution context's PrivateEnvironment.
    3. Let body be OrdinaryFunctionCreate(Method, « », ClassStaticBlockBody, lex, privateScope).
features: [class-static-block]
---*/

let test262 = 'outer scope';
let probe1, probe2;

class C {
  static {
    let test262 = 'first block';
    probe1 = test262;
  }
  static {
    let test262 = 'second block';
    probe2 = test262;
  }
}

assert.sameValue(test262, 'outer scope');
assert.sameValue(probe1, 'first block');
assert.sameValue(probe2, 'second block');
