nodejs/deps/v8/test/inspector/runtime/evaluate-private-class-member-invalid-receiver.js

42 lines
1.4 KiB
JavaScript
Raw Permalink Normal View History

// Copyright 2025 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.
const { contextGroup, Protocol } = InspectorTest.start(`Evaluate getting private member from Smi`);
async function runAndLog(expression) {
Protocol.Runtime.evaluate({expression: 'debugger;'});
const { params: { callFrames } } = await Protocol.Debugger.oncePaused();
const frame = callFrames[0];
InspectorTest.log(`Debugger.evaluateOnCallFrame: \`${expression}\``);
const { result: { result } } =
await Protocol.Debugger.evaluateOnCallFrame({
callFrameId: frame.callFrameId,
expression
});
InspectorTest.logMessage(result);
Protocol.Debugger.resume();
}
InspectorTest.runAsyncTestSuite([
async function evaluatePrivateMember() {
Protocol.Debugger.enable();
Protocol.Runtime.enable();
await runAndLog('(1).#test = 1');
await runAndLog('(1).#test');
await runAndLog('(null).#test = 1');
await runAndLog('(null).#test');
await runAndLog('(undefined).#test = 1');
await runAndLog('(undefined).#test');
await runAndLog('(true).#test = 1');
await runAndLog('(true).#test');
await runAndLog('("str").#test = 1');
await runAndLog('("str").#test');
await runAndLog('Symbol("str").#test = 1');
await runAndLog('Symbol("str").#test');
InspectorTest.completeTest();
}]
);