Index: test/inspector/debugger/set-script-source.js |
diff --git a/test/inspector/debugger/set-script-source.js b/test/inspector/debugger/set-script-source.js |
deleted file mode 100644 |
index 8e58503357e78373c5d661fbac09d411d1a0c154..0000000000000000000000000000000000000000 |
--- a/test/inspector/debugger/set-script-source.js |
+++ /dev/null |
@@ -1,151 +0,0 @@ |
-// 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. |
- |
-InspectorTest.evaluateInPage( |
-`function TestExpression(a, b) { |
- return a + b; |
-}`); |
- |
-// A general-purpose engine for sending a sequence of protocol commands. |
-// The clients provide requests and response handlers, while the engine catches |
-// errors and makes sure that once there's nothing to do completeTest() is called. |
-// @param step is an object with command, params and callback fields |
-function runRequestSeries(step) { |
- processStep(step); |
- |
- function processStep(currentStep) { |
- try { |
- processStepOrFail(currentStep); |
- } catch (e) { |
- InspectorTest.log(e.stack); |
- InspectorTest.completeTest(); |
- } |
- } |
- |
- function processStepOrFail(currentStep) { |
- if (!currentStep) { |
- InspectorTest.completeTest(); |
- return; |
- } |
- if (!currentStep.command) { |
- // A simple loopback step. |
- var next = currentStep.callback(); |
- processStep(next); |
- return; |
- } |
- |
- var innerCallback = function(response) { |
- var next; |
- if ("error" in response) { |
- if (!("errorHandler" in currentStep)) { |
- // Error message is not logged intentionally, it may be platform-specific. |
- InspectorTest.log("Protocol command '" + currentStep.command + "' failed"); |
- InspectorTest.completeTest(); |
- return; |
- } |
- try { |
- next = currentStep.errorHandler(response.error); |
- } catch (e) { |
- InspectorTest.log(e.stack); |
- InspectorTest.completeTest(); |
- return; |
- } |
- } else { |
- try { |
- next = currentStep.callback(response.result); |
- } catch (e) { |
- InspectorTest.log(e.stack); |
- InspectorTest.completeTest(); |
- return; |
- } |
- } |
- processStep(next); |
- } |
- InspectorTest.sendCommand(currentStep.command, currentStep.params, innerCallback); |
- } |
-} |
- |
-function logEqualsCheck(actual, expected) |
-{ |
- if (actual === expected) { |
- InspectorTest.log("PASS, result value: " + actual); |
- } else { |
- InspectorTest.log("FAIL, actual value: " + actual + ", expected: " + expected); |
- } |
-} |
-function logCheck(description, success) |
-{ |
- InspectorTest.log(description + ": " + (success ? "PASS" : "FAIL")); |
-} |
- |
-var firstStep = { callback: enableDebugger }; |
- |
-runRequestSeries(firstStep); |
- |
-function enableDebugger() { |
- return { command: "Debugger.enable", params: {}, callback: evalFunction }; |
-} |
- |
-function evalFunction(response) { |
- var expression = "TestExpression(2, 4)"; |
- return { command: "Runtime.evaluate", params: { expression: expression }, callback: callbackEvalFunction }; |
-} |
- |
-function callbackEvalFunction(result) { |
- InspectorTest.log("Function evaluate: " + JSON.stringify(result.result)); |
- logEqualsCheck(result.result.value, 6); |
- |
- return { command: "Runtime.evaluate", params: { expression: "TestExpression" }, callback: callbackEvalFunctionObject }; |
-} |
- |
-function callbackEvalFunctionObject(result) { |
- return { command: "Runtime.getProperties", params: { objectId: result.result.objectId }, callback: callbackFunctionDetails }; |
-} |
- |
-function callbackFunctionDetails(result) |
-{ |
- var scriptId; |
- for (var prop of result.internalProperties) { |
- if (prop.name === "[[FunctionLocation]]") |
- scriptId = prop.value.value.scriptId; |
- } |
- return createScriptManipulationArc(scriptId, null); |
-} |
- |
-// Several steps with scriptId in context. |
-function createScriptManipulationArc(scriptId, next) { |
- return { command: "Debugger.getScriptSource", params: { scriptId: scriptId }, callback: callbackGetScriptSource }; |
- |
- var originalText; |
- |
- function callbackGetScriptSource(result) { |
- originalText = result.scriptSource; |
- var patched = originalText.replace("a + b", "a * b"); |
- |
- return { command: "Debugger.setScriptSource", params: { scriptId: scriptId, scriptSource: patched }, callback: callbackSetScriptSource }; |
- } |
- |
- function callbackSetScriptSource(result) { |
- var expression = "TestExpression(2, 4)"; |
- return { command: "Runtime.evaluate", params: { expression: expression }, callback: callbackEvalFunction2 }; |
- } |
- |
- function callbackEvalFunction2(result) { |
- InspectorTest.log("Function evaluate: " + JSON.stringify(result.result)); |
- logEqualsCheck(result.result.value, 8); |
- |
- var patched = originalText.replace("a + b", "a # b"); |
- |
- return { command: "Debugger.setScriptSource", params: { scriptId: scriptId, scriptSource: patched }, callback: errorCallbackSetScriptSource2 }; |
- } |
- |
- function errorCallbackSetScriptSource2(result) { |
- var exceptionDetails = result.exceptionDetails; |
- logCheck("Has error reported", !!exceptionDetails); |
- logCheck("Reported error is a compile error", !!exceptionDetails); |
- if (exceptionDetails) |
- logEqualsCheck(exceptionDetails.lineNumber, 1); |
- return next; |
- } |
-} |