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

Unified Diff: test/inspector/debugger/framework-precise-ranges.js

Issue 2633803002: [inspector] implemented blackboxing inside v8 (Closed)
Patch Set: addressed comments Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: test/inspector/debugger/framework-precise-ranges.js
diff --git a/test/inspector/debugger/framework-precise-ranges.js b/test/inspector/debugger/framework-precise-ranges.js
new file mode 100644
index 0000000000000000000000000000000000000000..cae0747b690ad7d13474d2fc9af4d69a702fde0b
--- /dev/null
+++ b/test/inspector/debugger/framework-precise-ranges.js
@@ -0,0 +1,78 @@
+// Copyright 2017 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.
+
+print('Checks framework debugging with blackboxed ranges.');
+
+InspectorTest.addScript(
+ `
+function foo() {
+ return boo();
+}
+function boo() {
+ return 42;
+}
+function testFunction() {
+ foo();
+}
+//# sourceURL=test.js`,
+ 7, 26);
+
+InspectorTest.setupScriptMap();
+Protocol.Debugger.onPaused(message => {
+ InspectorTest.logCallFrames(message.params.callFrames);
+ InspectorTest.log('');
+ Protocol.Debugger.stepInto();
+});
+var scriptId;
+Protocol.Debugger.onScriptParsed(message => {
+ if (message.params.url === 'test.js') {
+ scriptId = message.params.scriptId;
+ }
+});
+
+Protocol.Debugger.enable()
+ .then(() => Protocol.Debugger.setBlackboxPatterns({patterns: ['expr\.js']}))
+ .then(() => InspectorTest.runTestSuite(testSuite));
+
+var testSuite = [
+ function testEntireScript(next) {
+ testPositions([position(0, 0)]).then(next);
+ },
+ function testFooNotBlackboxed(next) {
+ testPositions([position(11, 0)]).then(next);
+ },
+ function testFooBlackboxed(next) {
+ testPositions([position(8, 0), position(10, 3)]).then(next);
+ },
+ function testBooPartiallyBlackboxed1(next) {
+ // first line is not blackboxed, second and third - blackboxed.
+ testPositions([position(12, 0)]).then(next);
+ },
+ function testBooPartiallyBlackboxed2(next) {
+ // first line is blackboxed, second - not, third - blackboxed.
+ testPositions([
+ position(11, 0), position(12, 0), position(13, 0)
+ ]).then(next);
+ },
+ function testBooPartiallyBlackboxed3(next) {
+ // first line is blackboxed, second and third - not.
+ testPositions([
+ position(11, 0), position(12, 0), position(14, 0)
+ ]).then(next);
+ }
+];
+
+function testPositions(positions) {
+ schedulePauseOnNextStatement('', '');
+ return Protocol.Debugger
+ .setBlackboxedRanges({scriptId: scriptId, positions: positions})
+ .then(InspectorTest.logMessage)
+ .then(
+ () => Protocol.Runtime.evaluate(
+ {expression: 'testFunction()//# sourceURL=expr.js'}));
+}
+
+function position(line, column) {
+ return {lineNumber: line, columnNumber: column};
+}
« no previous file with comments | « test/inspector/debugger/framework-break-expected.txt ('k') | test/inspector/debugger/framework-precise-ranges-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698