OLD | NEW |
(Empty) | |
| 1 // Copyright 2017 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 InspectorTest.log('Checks command line API.'); |
| 6 |
| 7 InspectorTest.runAsyncTestSuite([ |
| 8 async function testKeys() { |
| 9 InspectorTest.logMessage(await Protocol.Runtime.evaluate({ |
| 10 expression: 'keys', includeCommandLineAPI: true})); |
| 11 InspectorTest.logMessage(await Protocol.Runtime.evaluate({ |
| 12 expression: 'keys({a : 1})', includeCommandLineAPI: true, returnByValue: t
rue})); |
| 13 |
| 14 Protocol.Runtime.evaluate({expression: 'this.keys = keys', includeCommandLin
eAPI: true}); |
| 15 InspectorTest.logMessage(await Protocol.Runtime.evaluate({ |
| 16 expression: 'this.keys({a : 1})', returnByValue: true})); |
| 17 }, |
| 18 |
| 19 async function testInspect() { |
| 20 InspectorTest.log(await Protocol.Runtime.evaluate({expression: 'inspect', in
cludeCommandLineAPI: true})); |
| 21 await Protocol.Runtime.enable(); |
| 22 Protocol.Runtime.onInspectRequested(InspectorTest.logMessage); |
| 23 await Protocol.Runtime.evaluate({expression: 'inspect({})', includeCommandLi
neAPI: true}); |
| 24 await Protocol.Runtime.evaluate({expression: 'inspect(239)', includeCommandL
ineAPI: true}); |
| 25 await Protocol.Runtime.evaluate({expression: 'inspect(-0)', includeCommandLi
neAPI: true}); |
| 26 await Protocol.Runtime.evaluate({expression: 'copy(\'hello\')', includeComma
ndLineAPI: true}); |
| 27 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: '$0',
includeCommandLineAPI: true})); |
| 28 |
| 29 Protocol.Runtime.evaluate({expression: 'this.inspect = inspect', includeComm
andLineAPI: true}); |
| 30 await Protocol.Runtime.evaluate({expression: 'this.inspect({})'}); |
| 31 |
| 32 Protocol.Runtime.onInspectRequested(null); |
| 33 await Protocol.Runtime.disable(); |
| 34 }, |
| 35 |
| 36 async function testEvaluationResult() { |
| 37 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: '$_',
includeCommandLineAPI: true})); |
| 38 await Protocol.Runtime.evaluate({expression: '42', objectGroup: 'console', i
ncludeCommandLineAPI: true}); |
| 39 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: '$_',
includeCommandLineAPI: true})); |
| 40 await Protocol.Runtime.evaluate({expression: '239', includeCommandLineAPI: t
rue}); |
| 41 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: '$_',
includeCommandLineAPI: true})); |
| 42 await Protocol.Runtime.evaluate({expression: '-0', objectGroup: 'console', i
ncludeCommandLineAPI: true}); |
| 43 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: '$_',
includeCommandLineAPI: true})); |
| 44 await Protocol.Runtime.evaluate({expression: '({})', objectGroup: 'console',
includeCommandLineAPI: true}); |
| 45 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: '$_',
includeCommandLineAPI: true, returnByValue: true})); |
| 46 }, |
| 47 |
| 48 async function testDebug() { |
| 49 InspectorTest.setupScriptMap(); |
| 50 await Protocol.Debugger.enable(); |
| 51 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'debug
', includeCommandLineAPI: true})); |
| 52 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'undeb
ug', includeCommandLineAPI: true})); |
| 53 await Protocol.Runtime.evaluate({expression: 'function foo() {}'}); |
| 54 await Protocol.Runtime.evaluate({expression: 'debug(foo)', includeCommandLin
eAPI: true}); |
| 55 Protocol.Runtime.evaluate({ expression: 'foo()'}); |
| 56 let message = await Protocol.Debugger.oncePaused(); |
| 57 InspectorTest.logCallFrames(message.params.callFrames); |
| 58 InspectorTest.logMessage(message.params.hitBreakpoints); |
| 59 await Protocol.Debugger.resume(); |
| 60 await Protocol.Runtime.evaluate({expression: 'undebug(foo)', includeCommandL
ineAPI: true}); |
| 61 await Protocol.Runtime.evaluate({ expression: 'foo()'}); |
| 62 |
| 63 Protocol.Runtime.evaluate({ |
| 64 expression: 'this.debug = debug; this.undebug = undebug;', includeCommandL
ineAPI: true}); |
| 65 await Protocol.Runtime.evaluate({expression: 'this.debug(foo)'}); |
| 66 Protocol.Runtime.evaluate({ expression: 'foo()'}); |
| 67 message = await Protocol.Debugger.oncePaused(); |
| 68 InspectorTest.logCallFrames(message.params.callFrames); |
| 69 InspectorTest.logMessage(message.params.hitBreakpoints); |
| 70 await Protocol.Debugger.resume(); |
| 71 await Protocol.Runtime.evaluate({expression: 'this.undebug(foo)'}); |
| 72 await Protocol.Runtime.evaluate({expression: 'foo()'}); |
| 73 |
| 74 await Protocol.Debugger.disable(); |
| 75 }, |
| 76 |
| 77 async function testMonitor() { |
| 78 await Protocol.Debugger.enable(); |
| 79 await Protocol.Runtime.enable(); |
| 80 Protocol.Runtime.onConsoleAPICalled(message => InspectorTest.log(message.par
ams.args[0].value)); |
| 81 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'monit
or', includeCommandLineAPI: true})); |
| 82 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'unmon
itor', includeCommandLineAPI: true})); |
| 83 await Protocol.Runtime.evaluate({expression: 'function foo() {}'}); |
| 84 |
| 85 await Protocol.Runtime.evaluate({expression: 'monitor(foo)', includeCommandL
ineAPI: true}); |
| 86 Protocol.Runtime.evaluate({ expression: 'foo(); console.log(\'after first ca
ll\')'}); |
| 87 await Protocol.Runtime.evaluate({expression: 'unmonitor(foo)', includeComman
dLineAPI: true}); |
| 88 await Protocol.Runtime.evaluate({ expression: 'foo()'}); |
| 89 |
| 90 Protocol.Runtime.evaluate({ |
| 91 expression: 'console.log(\'store functions..\'); this.monitor = monitor; t
his.unmonitor = unmonitor;', includeCommandLineAPI: true}); |
| 92 await Protocol.Runtime.evaluate({expression: 'this.monitor(foo)'}); |
| 93 Protocol.Runtime.evaluate({ expression: 'foo(); console.log(\'after first ca
ll\')'}); |
| 94 await Protocol.Runtime.evaluate({expression: 'this.unmonitor(foo)'}); |
| 95 await Protocol.Runtime.evaluate({ expression: 'foo()'}); |
| 96 |
| 97 Protocol.Runtime.onConsoleAPICalled(null); |
| 98 await Protocol.Debugger.disable(); |
| 99 await Protocol.Runtime.disable(); |
| 100 }, |
| 101 |
| 102 async function testProfile() { |
| 103 await Protocol.Profiler.enable(); |
| 104 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'profi
le', includeCommandLineAPI: true})); |
| 105 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'profi
leEnd', includeCommandLineAPI: true})); |
| 106 |
| 107 Protocol.Runtime.evaluate({expression: 'profile(42)', includeCommandLineAPI:
true}); |
| 108 InspectorTest.logMessage(await Protocol.Profiler.onceConsoleProfileStarted()
); |
| 109 Protocol.Runtime.evaluate({expression: 'profileEnd(42)', includeCommandLineA
PI: true}); |
| 110 let message = await Protocol.Profiler.onceConsoleProfileFinished(); |
| 111 message.params.profile = '<profile>'; |
| 112 InspectorTest.logMessage(message); |
| 113 |
| 114 Protocol.Runtime.evaluate({ |
| 115 expression: 'this.profile = profile; this.profileEnd = profileEnd;', inclu
deCommandLineAPI: true}); |
| 116 Protocol.Runtime.evaluate({expression: 'this.profile(239)'}); |
| 117 InspectorTest.logMessage(await Protocol.Profiler.onceConsoleProfileStarted()
); |
| 118 Protocol.Runtime.evaluate({expression: 'this.profileEnd(239)'}); |
| 119 message = await Protocol.Profiler.onceConsoleProfileFinished(); |
| 120 message.params.profile = '<profile>'; |
| 121 InspectorTest.logMessage(message); |
| 122 |
| 123 await Protocol.Profiler.disable(); |
| 124 }, |
| 125 |
| 126 async function testDir() { |
| 127 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'dir',
includeCommandLineAPI: true})); |
| 128 |
| 129 await Protocol.Runtime.enable(); |
| 130 Protocol.Runtime.evaluate({expression: 'dir({})', includeCommandLineAPI: tru
e}); |
| 131 InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); |
| 132 Protocol.Runtime.evaluate({expression: 'dir(42)', includeCommandLineAPI: tru
e}); |
| 133 InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); |
| 134 |
| 135 Protocol.Runtime.evaluate({expression: 'this.dir = dir', includeCommandLineA
PI: true}); |
| 136 Protocol.Runtime.evaluate({expression: 'this.dir({})'}); |
| 137 InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); |
| 138 await Protocol.Runtime.disable(); |
| 139 }, |
| 140 |
| 141 async function testDirXML() { |
| 142 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'dirxm
l', includeCommandLineAPI: true})); |
| 143 |
| 144 await Protocol.Runtime.enable(); |
| 145 Protocol.Runtime.evaluate({expression: 'dirxml({})', includeCommandLineAPI:
true}); |
| 146 InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); |
| 147 Protocol.Runtime.evaluate({expression: 'dirxml(42)', includeCommandLineAPI:
true}); |
| 148 InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); |
| 149 await Protocol.Runtime.disable(); |
| 150 }, |
| 151 |
| 152 async function testTable() { |
| 153 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'table
', includeCommandLineAPI: true})); |
| 154 |
| 155 await Protocol.Runtime.enable(); |
| 156 Protocol.Runtime.evaluate({expression: 'table({})', includeCommandLineAPI: t
rue}); |
| 157 InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); |
| 158 Protocol.Runtime.evaluate({expression: 'table(42)', includeCommandLineAPI: t
rue}); |
| 159 InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); |
| 160 await Protocol.Runtime.disable(); |
| 161 }, |
| 162 |
| 163 async function testClear() { |
| 164 InspectorTest.logMessage(await Protocol.Runtime.evaluate({expression: 'clear
', includeCommandLineAPI: true})); |
| 165 |
| 166 await Protocol.Runtime.enable(); |
| 167 Protocol.Runtime.evaluate({expression: 'clear()', includeCommandLineAPI: tru
e}); |
| 168 InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); |
| 169 |
| 170 Protocol.Runtime.evaluate({expression: 'this.clear = clear', includeCommandL
ineAPI: true}); |
| 171 Protocol.Runtime.evaluate({expression: 'this.clear()'}); |
| 172 InspectorTest.logMessage(await Protocol.Runtime.onceConsoleAPICalled()); |
| 173 await Protocol.Runtime.disable(); |
| 174 } |
| 175 ]); |
OLD | NEW |