| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 print("Tests that CommandLineAPI is presented only while evaluation."); | 5 print("Tests that CommandLineAPI is presented only while evaluation."); |
| 6 | 6 |
| 7 InspectorTest.evaluateInPage( | 7 InspectorTest.addScript( |
| 8 ` | 8 ` |
| 9 var methods = ["dir","dirxml","profile","profileEnd","clear","table","keys","val
ues","debug","undebug","monitor","unmonitor","inspect","copy"]; | 9 var methods = ["dir","dirxml","profile","profileEnd","clear","table","keys","val
ues","debug","undebug","monitor","unmonitor","inspect","copy"]; |
| 10 var window = this; | 10 var window = this; |
| 11 function presentedAPIMethods() | 11 function presentedAPIMethods() |
| 12 { | 12 { |
| 13 var methodCount = 0; | 13 var methodCount = 0; |
| 14 for (var method of methods) { | 14 for (var method of methods) { |
| 15 try { | 15 try { |
| 16 if (eval("window." + method + "&&" + method + ".toString ? " + metho
d + ".toString().indexOf(\\"[Command Line API]\\") !== -1 : false")) | 16 if (eval("window." + method + "&&" + method + ".toString ? " + metho
d + ".toString().indexOf(\\"[Command Line API]\\") !== -1 : false")) |
| 17 ++methodCount; | 17 ++methodCount; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 .then(dumpLeftMethods) | 78 .then(dumpLeftMethods) |
| 79 .then(dumpDir) | 79 .then(dumpDir) |
| 80 .then(() => runExpressionAndDumpPresentedMethods("redefineGetOwnPropertyDescri
ptors()")) | 80 .then(() => runExpressionAndDumpPresentedMethods("redefineGetOwnPropertyDescri
ptors()")) |
| 81 .then(dumpLeftMethods) | 81 .then(dumpLeftMethods) |
| 82 .then(dumpDir) | 82 .then(dumpDir) |
| 83 .then(() => evaluate("restoreGetOwnPropertyDescriptors()", false)) | 83 .then(() => evaluate("restoreGetOwnPropertyDescriptors()", false)) |
| 84 .then(InspectorTest.completeTest); | 84 .then(InspectorTest.completeTest); |
| 85 | 85 |
| 86 function evaluate(expression, includeCommandLineAPI) | 86 function evaluate(expression, includeCommandLineAPI) |
| 87 { | 87 { |
| 88 var cb; | 88 return Protocol.Runtime.evaluate({ expression: expression, objectGroup: "conso
le", includeCommandLineAPI: includeCommandLineAPI }); |
| 89 var p = new Promise(resolver => cb = resolver); | |
| 90 InspectorTest.sendCommandOrDie("Runtime.evaluate", { expression: expression, o
bjectGroup: "console", includeCommandLineAPI: includeCommandLineAPI }, cb); | |
| 91 return p; | |
| 92 } | 89 } |
| 93 | 90 |
| 94 function setLastEvaluationResultTo239() | 91 function setLastEvaluationResultTo239() |
| 95 { | 92 { |
| 96 return evaluate("239", false); | 93 return evaluate("239", false); |
| 97 } | 94 } |
| 98 | 95 |
| 99 function runExpressionAndDumpPresentedMethods(expression) | 96 function runExpressionAndDumpPresentedMethods(expression) |
| 100 { | 97 { |
| 101 InspectorTest.log(expression); | 98 InspectorTest.log(expression); |
| 102 return setLastEvaluationResultTo239() | 99 return setLastEvaluationResultTo239() |
| 103 .then(() => evaluate(expression + "; var a = presentedAPIMethods(); a", true
)) | 100 .then(() => evaluate(expression + "; var a = presentedAPIMethods(); a", true
)) |
| 104 .then((result) => InspectorTest.logObject(result)); | 101 .then((result) => InspectorTest.logMessage(result)); |
| 105 } | 102 } |
| 106 | 103 |
| 107 function dumpLeftMethods() | 104 function dumpLeftMethods() |
| 108 { | 105 { |
| 109 // Should always be zero. | 106 // Should always be zero. |
| 110 return setLastEvaluationResultTo239() | 107 return setLastEvaluationResultTo239() |
| 111 .then(() => evaluate("presentedAPIMethods()", false)) | 108 .then(() => evaluate("presentedAPIMethods()", false)) |
| 112 .then((result) => InspectorTest.logObject(result)); | 109 .then((result) => InspectorTest.logMessage(result)); |
| 113 } | 110 } |
| 114 | 111 |
| 115 function dumpDir() | 112 function dumpDir() |
| 116 { | 113 { |
| 117 // Should always be presented. | 114 // Should always be presented. |
| 118 return evaluate("dir", false) | 115 return evaluate("dir", false) |
| 119 .then((result) => InspectorTest.logObject(result)); | 116 .then((result) => InspectorTest.logMessage(result)); |
| 120 } | 117 } |
| OLD | NEW |