v8/test/inspector/debugger/set-script-source.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

43 lines
1.7 KiB
JavaScript
Raw Normal View History

// Copyright 2016 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 {session, contextGroup, Protocol} =
InspectorTest.start('Tests Debugger.setScriptSource');
contextGroup.addScript(
`function TestExpression(a, b) {
return a + b;
}`);
(async function test() {
Protocol.Debugger.enable();
const {params: {scriptId}} = await Protocol.Debugger.onceScriptParsed();
const {result: {result: {value}}} =
await Protocol.Runtime.evaluate({expression: 'TestExpression(2, 4)'});
InspectorTest.log(`TestExpression(2,4) === ${value}`);
{
const {result: {scriptSource}} =
await Protocol.Debugger.getScriptSource({scriptId});
InspectorTest.log(`Update current script source 'a + b' -> 'a * b'..`);
const {result} = await Protocol.Debugger.setScriptSource(
{scriptId, scriptSource: scriptSource.replace('a + b', 'a * b')})
InspectorTest.logMessage(result);
const {result: {result: {value}}} =
await Protocol.Runtime.evaluate({expression: 'TestExpression(2, 4)'});
InspectorTest.log(`TestExpression(2,4) === ${value}`);
}
{
const {result: {scriptSource}} =
await Protocol.Debugger.getScriptSource({scriptId});
InspectorTest.log(`Update current script source 'a * b' -> 'a # b'..`);
const {result} = await Protocol.Debugger.setScriptSource(
{scriptId, scriptSource: scriptSource.replace('a * b', 'a # b')})
InspectorTest.logMessage(result);
const {result: {result: {value}}} =
await Protocol.Runtime.evaluate({expression: 'TestExpression(2, 4)'});
InspectorTest.log(`TestExpression(2,4) === ${value}`);
}
InspectorTest.completeTest();
})();