node/deps/v8/test/inspector/debugger/class-private-methods-empty-inner.js
Michaël Zasso 1d6adf7432
deps: update V8 to 8.3.110.9
PR-URL: https://github.com/nodejs/node/pull/32831
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2020-05-12 16:12:13 +02:00

45 lines
1.1 KiB
JavaScript

// Copyright 2020 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony-private-methods
let {session, contextGroup, Protocol} = InspectorTest.start(
'Test empty inner classes with private instance methods in the outer class');
contextGroup.addScript(`
function run() {
class Outer {
#method() {}
factory() {
return class Inner {
fn() {
debugger;
}
};
}
};
const a = new Outer();
const Inner = a.factory();
(new Inner).fn();
}`);
InspectorTest.runAsyncTestSuite([async function testScopesPaused() {
Protocol.Debugger.enable();
Protocol.Runtime.evaluate({expression: 'run()'});
let {params: {callFrames}} =
await Protocol.Debugger.oncePaused(); // inside fn()
let frame = callFrames[0];
let {result} =
await Protocol.Runtime.getProperties({objectId: frame.this.objectId});
InspectorTest.logObject(result.privateProperties);
Protocol.Debugger.resume();
Protocol.Debugger.disable();
}]);