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

Unified Diff: LayoutTests/fast/harness/archived-results-dashboard.html

Issue 635413003: Added support for search filters in dashboard. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « no previous file | LayoutTests/fast/harness/resources/archived-results-dashboard-test.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: LayoutTests/fast/harness/archived-results-dashboard.html
diff --git a/LayoutTests/fast/harness/archived-results-dashboard.html b/LayoutTests/fast/harness/archived-results-dashboard.html
index 56c0528419ac5986dfca36371eaafa4cdb19ab82..f93afb5ca069434017034b8e98b03c9961b06823 100644
--- a/LayoutTests/fast/harness/archived-results-dashboard.html
+++ b/LayoutTests/fast/harness/archived-results-dashboard.html
@@ -1,10 +1,12 @@
<!DOCTYPE html>
<style>
+
html {
height: 100%;
}
+
body {
- margin: 0;
+ margin: 1.0em;
font-family: Helvetica, sans-serif;
font-size: 11pt;
display: -webkit-flex;
@@ -18,58 +20,127 @@ body > * {
}
h1 {
- font-size: 14pt;
+ font-size: 150%;
margin-top: 1.5em;
text-align: center;
- text-decoration: underline;
}
a {
text-decoration: none;
}
-tr {
- background-color: white;
+table {
+ position: relative;
+ top: 100px;
}
-tr:hover {
- background-color: #999999;
+th {
+ background: rgb(200, 200, 200);
+ border-radius: 5px;
}
td {
padding: 1px 4px;
- valign: center;
+ vertical-align: middle;
+ min-width: 20px;
+ height: 25px;
+ border: 1px solid rgb(200, 200, 200);
+ border-radius: 5px;
}
-td:hover .note{
- display: block;
+input[type=text] {
+ border: 2px solid rgb(128, 128, 128);
+ font-size: 120%;
+ height: 30px;
+ margin-bottom: 1.0em;
+ margin-top: 1.0em;
+ margin-left: 1.0em;
+ padding-left: 0.8em;
+ width: 500px;
+}
+
+input[type=checkbox] {
+ padding: 0.1em;
+ width: 20px;
+ height: 20px;
+}
+
+.rerun-button {
+ background: rgb(66, 184, 221);
+ border-radius: 5px;
+ font-size: 120%;
+ height: 40px;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+ width: 150px;
+}
+
+.rerun-button:hover {
+ background: rgb(80, 200, 250);
+}
+
+.result-cell, .test-pass, .test-fail, .test-skip, .test-run{
+ border: 0px;
+ border-radius: 5px;
}
.test-pass {
- background-color:rgb(0,255,0);
+ background-color: rgb(143, 223, 95);
}
.test-fail {
- background-color:rgb(255,0,0);
+ background-color: rgb(233, 128, 128);
}
.test-skip {
- background-color:rgb(255,255,255);
+ background-color: rgb(255, 255, 255);
}
+
.test-run {
- background-color:rgb(255,252,108);
+ background-color: rgb(255, 252, 108);
}
+
.log {
- font-family: "Courier New"
+ font-family: "Courier New";
+ display: block;
+ position: relative;
}
+
.stdio-href {
color: grey;
font-weight: bold;
text-decoration: underline;
}
+
.stdio-href:hover {
color:black;
}
+
+.odd-row {
+ background: rgb(66, 184, 221);
+}
+
+.even-row {
+ background: rgb(200, 200, 200);
+}
+
+.toolbox {
+ display: block;
+ position: fixed;
+ padding: 4px;
+ top: 10px;
+ right: 10px;
+ z-index: 9999;
+}
+
+.toolbox span {
+ color: rgb(104, 104, 104);
+ position: absolute;
+ text-align: right;
+ top: 30px;
+ left: 570px;
+ width: 100px;
+}
+
</style>
<script>
var g_state;
@@ -94,6 +165,10 @@ function processGlobalStateFor(testObject)
{
var table = document.getElementById('results-table');
var row = table.insertRow(-1);
+ if (table.rows.length % 2 == 0)
+ row.className = 'even-row';
+ else
+ row.className = 'odd-row';
var checkboxcell = row.insertCell(-1);
var checkbox = document.createElement("input");
checkbox.setAttribute('type','checkbox');
@@ -111,7 +186,7 @@ function processGlobalStateFor(testObject)
cell.className = 'test-fail';
var hrefElement = document.createElement("a");
hrefElement.href = globalState().results.result_links[result];
- hrefElement.innerHTML = '&nbsp;&nbsp;';
+ hrefElement.innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;';
cell.appendChild(hrefElement);
}
@@ -139,7 +214,7 @@ function getTests()
var tests_list = {
tests : []
};
- for(var i = 1; i < testCount; i++) {
+ for(var i = 2; i < testCount; i++) {
var selected = table.rows[i].cells[0].getElementsByTagName("input")[0];
if(selected.checked) {
var test = table.rows[i].cells[1].innerHTML;
@@ -158,6 +233,7 @@ function rerun()
var stdioIframe = document.createElement("IFRAME");
stdioIframe.style.display = 'none';
stdioIframe.width = window.innerWidth;
+ stdioIframe.height = '100px';
stdioIframe.onload = function () {
stdioIframe.contentWindow.scrollTo(0,stdioIframe.contentWindow.document.body.scrollHeight);
}
@@ -204,34 +280,85 @@ function checkalltests()
var value = document.getElementById("check_all").checked;
var table = document.getElementById("results-table");
var length = table.rows.length;
- for (var i = 1; i < length; i++) {
+ for (var i = 2; i < length; i++) {
var checkbox = table.rows[i].cells[0].getElementsByTagName("input")[0];
+ var disabled = checkbox.disabled;
+ if(!disabled)
checkbox.checked = value;
}
}
-function generatePage()
+function searchTable(filterExp)
{
- var count = globalState().results.result_links.length;
- var tableHeader= '<div><table id=results-table><thead><tr>' +
- '<th>' + '<input type="checkbox" name="checkall" id="check_all" onclick="checkalltests()"></input>' + ' Rerun' + '</th>' +
+ var table = document.getElementById('results-table');
+ var testCount = table.rows.length;
+ var tests_list = {
+ tests : []
+ };
+ var searchCount = 0;
+ for(var i = 2; i < testCount; i++) {
+ var cellContent = table.rows[i].cells[1].innerHTML;
+ var checkbox = table.rows[i].cells[0].getElementsByTagName("input")[0];
+ var index = cellContent.search(filterExp);
+ if (index < 0) {
+ table.rows[i].style.display = 'none';
+ checkbox.checked = false;
+ checkbox.disabled = true;
+ }
+ else {
+ table.rows[i].style.display = '';
+ checkbox.disabled = false;
+ searchCount += 1;
+ }
+ }
+ return searchCount;
+}
+function applyfilter()
+{
+ var filterString = document.getElementById('applyfilter').value;
+ var searchCount = document.getElementById('searchcount');
+ var filterExp = new RegExp(filterString, "i");
+ var count = searchTable(filterExp);
+ if(filterString == '') {
+ searchCount.innerHTML = '';
+ return;
+ }
+ var totalCount = document.getElementById('results-table').rows.length - 2;
+ searchCount.innerHTML = count + '/' + totalCount;
+}
- '<th>Failing Tests ( Latest &#8594; Oldest )</th>';
+function createTableHeader()
+{
+ var count = globalState().results.result_links.length;
+ var tableHeader= '<table id=results-table><thead><tr>' +
+ '<th rowspan="2">' +
+ '<input type="checkbox" name="checkall" id="check_all" onclick="checkalltests()"></input>' +
+ '</th>' +
+ '<th rowspan="2" text-align:left;>Tests</th>' +
+ '<th colspan= '+ count +'>Latest &#8594; Oldest</th> </tr><tr>';
for( var i = 0; i < count; i++)
tableHeader += '<th>'+ (i+1) +'</th>';
- tableHeader += '</thead>';
+ tableHeader += '</tr></thead></table>';
document.body.innerHTML += tableHeader;
- document.body.innerHTML += '</table></div>';
+}
+function generatePage()
+{
+ createTableHeader();
forEachTest(processGlobalStateFor);
}
+
</script>
<!-- To run the tests -->
<script src="resources/archived-results-dashboard-test.js"></script>
<body onload="generatePage()">
<h1>Dashboard</h1>
<div id=log class="log"></div>
- <p><button onclick="rerun()">Re Run Tests</button></p>
+ <div class="toolbox">
+ <button onclick=rerun() class="rerun-button">Re Run Tests</button>
+ <input type="text" id=applyfilter oninput="applyfilter()" placeholder="Search via regular expression"></input>
+ <span id=searchcount></span>
+ </div>
</body>
</html>
« no previous file with comments | « no previous file | LayoutTests/fast/harness/resources/archived-results-dashboard-test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698