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

Side by Side Diff: third_party/WebKit/LayoutTests/inspector/coverage/coverage-test.js

Issue 2865573003: DevTools: support live coverage (Closed)
Patch Set: minor polish on corner cases Created 3 years, 7 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 function initialize_CoverageTests() { 1 function initialize_CoverageTests() {
2 2
3 InspectorTest.preloadModule("coverage"); 3 InspectorTest.preloadModule("coverage");
4 4
5 InspectorTest.startCoverage = function() 5 InspectorTest.startCoverage = function()
6 { 6 {
7 UI.viewManager.showView("coverage"); 7 UI.viewManager.showView("coverage");
8 var coverageView = self.runtime.sharedInstance(Coverage.CoverageView); 8 var coverageView = self.runtime.sharedInstance(Coverage.CoverageView);
9 coverageView._startRecording(); 9 coverageView._startRecording();
10 } 10 }
11 11
12 InspectorTest.stopCoverage = function() 12 InspectorTest.stopCoverage = function()
13 { 13 {
14 var coverageView = self.runtime.sharedInstance(Coverage.CoverageView); 14 var coverageView = self.runtime.sharedInstance(Coverage.CoverageView);
15 return coverageView._stopRecording(); 15 return coverageView._stopRecording();
16 } 16 }
17 17
18 InspectorTest.sourceDecorated = async function(source) 18 InspectorTest.sourceDecorated = async function(source)
19 { 19 {
20 await UI.inspectorView.showPanel("sources"); 20 await UI.inspectorView.showPanel("sources");
21 var decoratePromise = InspectorTest.addSnifferPromise(Coverage.CoverageView. LineDecorator.prototype, "decorate"); 21 var decoratePromise = InspectorTest.addSnifferPromise(Coverage.CoverageView. LineDecorator.prototype, "_innerDecorate");
22 var sourceFrame = await new Promise(fulfill => InspectorTest.showScriptSourc e(source, fulfill)); 22 var sourceFrame = await new Promise(fulfill => InspectorTest.showScriptSourc e(source, fulfill));
23 await decoratePromise; 23 await decoratePromise;
24 return sourceFrame; 24 return sourceFrame;
25 } 25 }
26 26
27 InspectorTest.dumpDecorations = async function(source) 27 InspectorTest.dumpDecorations = async function(source)
28 { 28 {
29 var sourceFrame = await InspectorTest.sourceDecorated(source); 29 var sourceFrame = await InspectorTest.sourceDecorated(source);
30 InspectorTest.dumpDecorationsInSourceFrame(sourceFrame); 30 InspectorTest.dumpDecorationsInSourceFrame(sourceFrame);
31 } 31 }
32 32
33 InspectorTest.findCoverageNodeForURL = function(url) 33 InspectorTest.findCoverageNodeForURL = function(url)
34 { 34 {
35 var coverageListView = self.runtime.sharedInstance(Coverage.CoverageView)._l istView; 35 var coverageListView = self.runtime.sharedInstance(Coverage.CoverageView)._l istView;
36 var rootNode = coverageListView._dataGrid.rootNode(); 36 var rootNode = coverageListView._dataGrid.rootNode();
37 for (var child of rootNode.children) { 37 for (var child of rootNode.children) {
38 if (child._coverageInfo.url().endsWith(url)) 38 if (child._coverageInfo.url().endsWith(url))
39 return child; 39 return child;
40 } 40 }
41 return null; 41 return null;
42 } 42 }
43 43
44 InspectorTest.dumpDecorationsInSourceFrame = function(sourceFrame) 44 InspectorTest.dumpDecorationsInSourceFrame = function(sourceFrame)
45 { 45 {
46 var markerMap = new Map([['used', '+'], ['unused', '-'], ['mixed', '*']]); 46 var markerMap = new Map([['used', '+'], ['unused', '-']]);
47 47
48 var codeMirror = sourceFrame.textEditor.codeMirror(); 48 var codeMirror = sourceFrame.textEditor.codeMirror();
49 for (var line = 0; line < codeMirror.lineCount(); ++line) { 49 for (var line = 0; line < codeMirror.lineCount(); ++line) {
50 var text = codeMirror.getLine(line); 50 var text = codeMirror.getLine(line);
51 var markerType = ' '; 51 var markerType = ' ';
52 var lineInfo = codeMirror.lineInfo(line); 52 var lineInfo = codeMirror.lineInfo(line);
53 if (!lineInfo) 53 if (!lineInfo)
54 continue; 54 continue;
55 var gutterElement = lineInfo.gutterMarkers && lineInfo.gutterMarkers['Co deMirror-gutter-coverage']; 55 var gutterElement = lineInfo.gutterMarkers && lineInfo.gutterMarkers['Co deMirror-gutter-coverage'];
56 if (gutterElement) { 56 if (gutterElement) {
57 var markerClass = /^text-editor-coverage-(\w*)-marker$/.exec(gutterE lement.classList)[1]; 57 var markerClass = /^text-editor-coverage-(\w*)-marker$/.exec(gutterE lement.classList)[1];
58 markerType = markerMap.get(markerClass) || gutterElement.classList; 58 markerType = markerMap.get(markerClass) || gutterElement.classList;
59 } 59 }
60 InspectorTest.addResult(`${line}: ${markerType} ${text}`); 60 InspectorTest.addResult(`${line}: ${markerType} ${text}`);
61 } 61 }
62 } 62 }
63 63
64 64
65 } 65 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698