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

Side by Side Diff: LayoutTests/inspector/filtered-item-selection-dialog-filtering.html

Issue 239283002: DevTools: goto-line functionality should not change selected uisourcecode (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: add testcase Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | LayoutTests/inspector/filtered-item-selection-dialog-filtering-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <html> 1 <html>
2 <head> 2 <head>
3 <script src="../http/tests/inspector/inspector-test.js"></script> 3 <script src="../http/tests/inspector/inspector-test.js"></script>
4 <script> 4 <script>
5 5
6 function test() 6 function test()
7 { 7 {
8 WebInspector.inspectorView.showPanel("sources"); 8 WebInspector.inspectorView.showPanel("sources");
9 9
10 var overridenInput = []; 10 var overridenInput = [];
11 var overridenTitle = [];
12 var overridenQuery = ""; 11 var overridenQuery = "";
13 var overridenScores = []; 12 var overrideShowMatchingItems = true;
14 13
15 function StubDelegate() 14 function StubDelegate()
16 { 15 {
17 WebInspector.SelectionDialogContentProvider.call(this); 16 WebInspector.SelectionDialogContentProvider.call(this);
18 } 17 }
19 StubDelegate.prototype = { 18 StubDelegate.prototype = {
20 itemKeyAt: function(itemIndex) { return overridenInput[itemIndex]; }, 19 itemKeyAt: function(itemIndex) { return overridenInput[itemIndex]; },
21 itemScoreAt: function(itemIndex) { return overridenScores[itemIndex] || 0; }, 20 itemScoreAt: function(itemIndex) { return 0; },
22 itemCount: function() { return overridenInput.length; }, 21 itemCount: function() { return overridenInput.length; },
23 selectItem: function(itemIndex, promptValue) { }, 22 selectItem: function(itemIndex, promptValue)
23 {
24 InspectorTest.addResult("Selected item index: " + itemIndex);
25 },
24 rewriteQuery: function(query) { return overridenQuery; }, 26 rewriteQuery: function(query) { return overridenQuery; },
27 shouldShowMatchingItems: function() { return overrideShowMatchingItems; },
25 28
26 __proto__: WebInspector.SelectionDialogContentProvider.prototype 29 __proto__: WebInspector.SelectionDialogContentProvider.prototype
27 } 30 }
28 31
29 var overridenInput = []; 32 var overridenInput = [];
30 var overridenTitle = [];
31 var overridenQuery = ""; 33 var overridenQuery = "";
32 var overridenScores = [];
33 var delegate = new StubDelegate(); 34 var delegate = new StubDelegate();
34 35
35 function checkQuery(title, query, input, titles, scores) 36 function checkQuery(title, query, input, hideMatchingItems)
36 { 37 {
37 overridenInput = input; 38 overridenInput = input;
38 overridenQuery = query; 39 overridenQuery = query;
39 overridenTitles = titles || []; 40 overrideShowMatchingItems = !hideMatchingItems;
40 overridenScores = scores || [];
41 41
42 InspectorTest.addResult("\n" + title); 42 InspectorTest.addResult("\n" + title);
43 InspectorTest.addResult("Query:" + JSON.stringify(query)); 43 InspectorTest.addResult("Query:" + JSON.stringify(query));
44 InspectorTest.addResult("Input:" + JSON.stringify(input)); 44 InspectorTest.addResult("Input:" + JSON.stringify(input));
45 45
46 var filteredSelectionDialog = new WebInspector.FilteredItemSelectionDial og(delegate); 46 var filteredSelectionDialog = new WebInspector.FilteredItemSelectionDial og(delegate);
47 filteredSelectionDialog._updateAfterItemsLoaded(); 47 filteredSelectionDialog._updateAfterItemsLoaded();
48 var items = filteredSelectionDialog._filteredItems; 48 var items = filteredSelectionDialog._filteredItems;
49 var output = []; 49 var output = [];
50 for (var i = 0; i < items.length; ++i) 50 for (var i = 0; i < items.length; ++i)
51 output.push(delegate.itemKeyAt(items[i])); 51 output.push(delegate.itemKeyAt(items[i]));
52 InspectorTest.addResult("Output:" + JSON.stringify(output)); 52 InspectorTest.addResult("Output:" + JSON.stringify(output));
53 filteredSelectionDialog.onEnter();
53 } 54 }
54 55
55 checkQuery("Empty query matches everything", "", ["a", "bc"]); 56 checkQuery("Empty query matches everything", "", ["a", "bc"]);
56 checkQuery("Case sensitive matching", "aB", ["abc", "acB"]); 57 checkQuery("Case sensitive matching", "aB", ["abc", "acB"]);
57 checkQuery("Case insensitive matching", "ab", ["abc", "bac", "a_B"]); 58 checkQuery("Case insensitive matching", "ab", ["abc", "bac", "a_B"]);
58 checkQuery("Duplicate symbols in query", "aab", ["abab", "abaa", "caab", "ba ac", "fooaab"]); 59 checkQuery("Duplicate symbols in query", "aab", ["abab", "abaa", "caab", "ba ac", "fooaab"]);
59 checkQuery("Dangerous input escaping", "^[]{}()\\.$*+?|", ["^[]{}()\\.$*+?|" , "0123456789abcdef"]); 60 checkQuery("Dangerous input escaping", "^[]{}()\\.$*+?|", ["^[]{}()\\.$*+?|" , "0123456789abcdef"]);
61 checkQuery("Item index is not reported in go-to line", ":1", [":1:2:3.js"], true);
60 InspectorTest.completeTest(); 62 InspectorTest.completeTest();
61 } 63 }
62 64
63 </script> 65 </script>
64 </head> 66 </head>
65 67
66 <body onload="runTest()"> 68 <body onload="runTest()">
67 <p> 69 <p>
68 Check to see that FilteredItemSelectionDialog uses proper regex to filter result s. 70 Check to see that FilteredItemSelectionDialog uses proper regex to filter result s.
69 </p> 71 </p>
70 72
71 </body> 73 </body>
72 </html> 74 </html>
OLDNEW
« no previous file with comments | « no previous file | LayoutTests/inspector/filtered-item-selection-dialog-filtering-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698