// 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(); })();