Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: test/inspector/debugger/get-possible-breakpoints.js

Issue 2728563002: [inspector] added type of break location into getPossibleBreakpoints output (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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('Test for Debugger.getPossibleBreakpoints'); 5 print('Test for Debugger.getPossibleBreakpoints');
6 6
7 Protocol.Runtime.enable(); 7 Protocol.Runtime.enable();
8 Protocol.Debugger.enable(); 8 Protocol.Debugger.enable();
9 9
10 InspectorTest.runTestSuite([ 10 InspectorTest.runTestSuite([
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 var promise = Protocol.Debugger.oncePaused() 167 var promise = Protocol.Debugger.oncePaused()
168 .then(msg => { (start || {}).scriptId = msg.params.callFrames[0].location.sc riptId; (end || {}).scriptId = msg.params.callFrames[0].location.scriptId }) 168 .then(msg => { (start || {}).scriptId = msg.params.callFrames[0].location.sc riptId; (end || {}).scriptId = msg.params.callFrames[0].location.scriptId })
169 .then(() => Protocol.Debugger.getPossibleBreakpoints({ start: start, end: en d })); 169 .then(() => Protocol.Debugger.getPossibleBreakpoints({ start: start, end: en d }));
170 Protocol.Runtime.evaluate({ expression: source }).then(next); 170 Protocol.Runtime.evaluate({ expression: source }).then(next);
171 return promise; 171 return promise;
172 } 172 }
173 173
174 function setAllBreakpoints(message) { 174 function setAllBreakpoints(message) {
175 var promises = []; 175 var promises = [];
176 for (var location of message.result.locations) 176 for (var location of message.result.locations)
177 promises.push(Protocol.Debugger.setBreakpoint({ location: location }).then(c heckBreakpoint)); 177 promises.push(Protocol.Debugger.setBreakpoint({ location: location.location }).then(checkBreakpoint));
178 return Promise.all(promises); 178 return Promise.all(promises);
179 } 179 }
180 180
181 function checkBreakpoint(message) { 181 function checkBreakpoint(message) {
182 if (message.error) { 182 if (message.error) {
183 InspectorTest.log('FAIL: error in setBreakpoint'); 183 InspectorTest.log('FAIL: error in setBreakpoint');
184 InspectorTest.logMessage(message); 184 InspectorTest.logMessage(message);
185 return; 185 return;
186 } 186 }
187 var id_data = message.result.breakpointId.split(':'); 187 var id_data = message.result.breakpointId.split(':');
188 if (parseInt(id_data[1]) !== message.result.actualLocation.lineNumber || parse Int(id_data[2]) !== message.result.actualLocation.columnNumber) { 188 if (parseInt(id_data[1]) !== message.result.actualLocation.lineNumber || parse Int(id_data[2]) !== message.result.actualLocation.columnNumber) {
189 InspectorTest.log('FAIL: possible breakpoint was resolved in another locatio n'); 189 InspectorTest.log('FAIL: possible breakpoint was resolved in another locatio n');
190 } 190 }
191 } 191 }
192 192
193 function dumpAllLocations(message, source, lineOffset, columnOffset) { 193 function dumpAllLocations(message, source, lineOffset, columnOffset) {
194 if (message.error) { 194 if (message.error) {
195 InspectorTest.logMessage(message); 195 InspectorTest.logMessage(message);
196 return; 196 return;
197 } 197 }
198 198
199 lineOffset = lineOffset || 0; 199 lineOffset = lineOffset || 0;
200 columnOffset = columnOffset || 0; 200 columnOffset = columnOffset || 0;
201 201
202 var sourceLines = source.split('\n') 202 var sourceLines = source.split('\n')
203 var lineOffsets = Array(sourceLines.length).fill(0); 203 var lineOffsets = Array(sourceLines.length).fill(0);
204 for (var location of message.result.locations) { 204 for (var location of message.result.locations) {
205 var lineNumber = location.lineNumber - lineOffset; 205 var lineNumber = location.location.lineNumber - lineOffset;
206 var columnNumber = lineNumber !== 0 ? location.columnNumber : location.colum nNumber - columnOffset; 206 var columnNumber = lineNumber !== 0 ? location.location.columnNumber : locat ion.location.columnNumber - columnOffset;
207 var line = sourceLines[lineNumber] || ''; 207 var line = sourceLines[lineNumber] || '';
208 var offset = lineOffsets[lineNumber]; 208 var offset = lineOffsets[lineNumber];
209 line = line.slice(0, columnNumber + offset) + '#' + line.slice(columnNumber + offset); 209 line = line.slice(0, columnNumber + offset) + '#' + line.slice(columnNumber + offset);
210 ++lineOffsets[lineNumber]; 210 ++lineOffsets[lineNumber];
211 sourceLines[lineNumber] = line; 211 sourceLines[lineNumber] = line;
212 } 212 }
213 InspectorTest.log(sourceLines.join('\n')); 213 InspectorTest.log(sourceLines.join('\n'));
214 return message; 214 return message;
215 } 215 }
216 216
217 function dumpBreakLocationInSourceAndResume(message, source, lineOffset, columnO ffset) { 217 function dumpBreakLocationInSourceAndResume(message, source, lineOffset, columnO ffset) {
218 lineOffset = lineOffset || 0; 218 lineOffset = lineOffset || 0;
219 columnOffset = columnOffset || 0; 219 columnOffset = columnOffset || 0;
220 220
221 InspectorTest.log('paused in ' + message.params.callFrames[0].functionName); 221 InspectorTest.log('paused in ' + message.params.callFrames[0].functionName);
222 var location = message.params.callFrames[0].location; 222 var location = message.params.callFrames[0].location;
223 var sourceLines = source.split('\n') 223 var sourceLines = source.split('\n')
224 224
225 var lineNumber = location.lineNumber - lineOffset; 225 var lineNumber = location.lineNumber - lineOffset;
226 var columnNumber = lineNumber !== 0 ? location.columnNumber : location.columnN umber - columnOffset; 226 var columnNumber = lineNumber !== 0 ? location.columnNumber : location.columnN umber - columnOffset;
227 227
228 var line = sourceLines[lineNumber]; 228 var line = sourceLines[lineNumber];
229 line = line.slice(0, columnNumber) + '^' + line.slice(columnNumber); 229 line = line.slice(0, columnNumber) + '^' + line.slice(columnNumber);
230 sourceLines[lineNumber] = line; 230 sourceLines[lineNumber] = line;
231 InspectorTest.log(sourceLines.join('\n')); 231 InspectorTest.log(sourceLines.join('\n'));
232 Protocol.Debugger.resume(); 232 Protocol.Debugger.resume();
233 } 233 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698