Commit c6133ee8 authored by Xianzhu Wang's avatar Xianzhu Wang Committed by Commit Bot

[layout test results.html] Show counts in filters after text filter

This CL let the counts of category filters show the counts with
text filter applied. I had hesitated which to choose: counts before
text filter and after text filter and after tries both I feel the
latter is more informative. Wdyt?

Change-Id: I229fb0e49e628ffa1685f59f44b5ca848d3f410f
Reviewed-on: https://chromium-review.googlesource.com/822754
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: default avatarAleks Totic <atotic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523598}
parent 321dc5d2
...@@ -385,7 +385,6 @@ class Traversal { ...@@ -385,7 +385,6 @@ class Traversal {
this.filteredCount = 0; this.filteredCount = 0;
this.lastDir = ""; this.lastDir = "";
this.html = []; this.html = [];
this.resultCounts = {};
return this; return this;
} }
...@@ -394,10 +393,6 @@ class Traversal { ...@@ -394,10 +393,6 @@ class Traversal {
this.testCount++; this.testCount++;
if (filter(node, path)) { if (filter(node, path)) {
this.filteredCount++; this.filteredCount++;
// Ignore all results except final one, or not?
if (!(node.actualFinal in this.resultCounts))
this.resultCounts[node.actualFinal] = 0;
this.resultCounts[node.actualFinal]++;
action(node, path, this); action(node, path, this);
} }
} else { } else {
...@@ -740,17 +735,15 @@ const Query = { ...@@ -740,17 +735,15 @@ const Query = {
} }
}, },
updateFilters: function(traversal) { updateFilters: function() {
for (let el of Array.from( for (let el of Array.from(
document.querySelectorAll("#filters > label"))) { document.querySelectorAll("#filters > label"))) {
let count = traversal.resultCounts[el.id.replace("_", "+")]; let count = this.resultCounts[el.id.replace("_", "+")];
if (count > 0) { if (count > 0) {
el.classList.remove("hidden"); el.classList.remove("hidden");
el.querySelector('input').checked = true;
el.querySelector('span').innerText = count; el.querySelector('span').innerText = count;
} else { } else {
el.classList.add("hidden"); el.classList.add("hidden");
el.querySelector("input").checked = false;
el.querySelector("span").innerText = ""; el.querySelector("span").innerText = "";
} }
} }
...@@ -771,7 +764,15 @@ const Query = { ...@@ -771,7 +764,15 @@ const Query = {
let textFilter = (!searchText || searchText.length < 1) let textFilter = (!searchText || searchText.length < 1)
? _ => true ? _ => true
: test => test.expectPath.includes(searchText); : test => test.expectPath.includes(searchText);
return test => queryFilter(test) && filterMap.has(test.actualFinal) && textFilter(test); return test => {
if (!queryFilter(test) || !textFilter(test))
return false;
// Ignore all results except final one, or not?
if (!(test.actualFinal in this.resultCounts))
this.resultCounts[test.actualFinal] = 0;
this.resultCounts[test.actualFinal]++;
return filterMap.has(test.actualFinal);
};
}, },
query: function(name, queryFilter, reset) { query: function(name, queryFilter, reset) {
...@@ -779,12 +780,6 @@ const Query = { ...@@ -779,12 +780,6 @@ const Query = {
if (reset) { if (reset) {
this.resetFilters(); this.resetFilters();
this.lastQueryFilter = queryFilter; this.lastQueryFilter = queryFilter;
let savedSearchText = document.querySelector("#text-filter").value;
document.querySelector("#text-filter").value = "";
let traversal = new Traversal(globalResults.tests);
traversal.traverse(this.applyFilters(queryFilter));
this.updateFilters(traversal);
document.querySelector("#text-filter").value = savedSearchText;
} }
let composedFilter = this.applyFilters(queryFilter); let composedFilter = this.applyFilters(queryFilter);
this.generateReport(name, composedFilter); this.generateReport(name, composedFilter);
...@@ -802,6 +797,7 @@ const Query = { ...@@ -802,6 +797,7 @@ const Query = {
// Store last report to redisplay. // Store last report to redisplay.
this.lastReport = {name: name, filter: filter}; this.lastReport = {name: name, filter: filter};
this.createReportPromise(); this.createReportPromise();
this.resultCounts = {};
document.querySelector("#report").innerHTML = ""; document.querySelector("#report").innerHTML = "";
document.querySelector("#report_title").innerHTML = name; document.querySelector("#report_title").innerHTML = name;
...@@ -827,6 +823,7 @@ const Query = { ...@@ -827,6 +823,7 @@ const Query = {
}; };
window.setTimeout( _ => { window.setTimeout( _ => {
traversal.traverse(filter, report.print); traversal.traverse(filter, report.print);
this.updateFilters();
this.completeReportPromise(traversal); this.completeReportPromise(traversal);
this.currentRAF = window.requestAnimationFrame(callback); this.currentRAF = window.requestAnimationFrame(callback);
}, 0); }, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment