8 font-family: Helvetica, sans-serif;
10 display: -webkit-flex;
11 -webkit-flex-direction: column;
24 text-decoration: underline;
28 text-decoration: none;
32 background-color: white;
36 background-color: #999999;
49 background-color:rgb(0,255,0);
53 background-color:rgb(255,0,0);
57 background-color:rgb(255,255,255);
62 function globalState()
72 function ADD_RESULTS(input)
74 globalState().results = input;
77 <script src="archived_results.json"></script>
79 function processGlobalStateFor(testObject)
81 var table = document.getElementById('results-table');
82 var row = table.insertRow(-1);
83 var checkboxcell = row.insertCell(-1);
84 var checkbox = document.createElement("input");
85 checkbox.setAttribute('type','checkbox');
86 checkboxcell.appendChild(checkbox);
87 var cell = row.insertCell(-1);
88 cell.innerHTML = testObject.name;
89 for (var result in testObject.archived_results) {
90 var res = testObject.archived_results[result];
91 var cell = row.insertCell(-1);
93 cell.className = 'test-pass';
94 else if( res == 'SKIP')
95 cell.className = 'test-skip';
97 cell.className = 'test-fail';
98 var hrefElement = document.createElement("a");
99 hrefElement.href = globalState().results.result_links[result];
100 hrefElement.innerHTML = ' ';
101 cell.appendChild(hrefElement);
106 function forEachTest(handler, opt_tree, opt_prefix)
108 var tree = opt_tree || globalState().results.tests;
109 var prefix = opt_prefix || '';
111 for (var key in tree) {
112 var newPrefix = prefix ? (prefix + '/' + key) : key;
113 if ('archived_results' in tree[key]) {
114 var testObject = tree[key];
115 testObject.name = newPrefix;
118 forEachTest(handler, tree[key], newPrefix);
123 var table = document.getElementById('results-table');
124 var testCount = table.rows.length;
128 for(var i = 1; i < testCount; i++) {
129 var selected = table.rows[i].cells[0].getElementsByTagName("input")[0];
130 if(selected.checked) {
131 var test = table.rows[i].cells[1].innerHTML;
132 tests_list.tests.push(test);
139 var log = document.getElementById('log');
140 log.innerHTML = 'Re running tests again';
141 var testList = getTests()
143 alert('Please select atlest one Test');
145 xmlhttp = new XMLHttpRequest();
146 var url ='http://localhost:9630/';
147 xmlhttp.open('POST', url, true);
148 xmlhttp.onerror = function() {
149 alert('Server offline');
151 xmlhttp.setRequestHeader("Content-type", "application/json");
152 xmlhttp.onreadystatechange = function() {
153 if(xmlhttp.readyState > 0)
154 document.body.innerHTML = xmlhttp.responseText;
156 xmlhttp.send(JSON.stringify(getTests()));
159 function checkalltests()
161 var value = document.getElementById("check_all").checked;
162 var table = document.getElementById("results-table");
163 var length = table.rows.length;
164 for (var i = 1; i < length; i++) {
165 var checkbox = table.rows[i].cells[0].getElementsByTagName("input")[0];
166 checkbox.checked = value;
171 function generatePage()
173 var count = globalState().results.result_links.length;
174 var tableHeader= '<div><table id=results-table><thead><tr>' +
175 '<th>' + '<input type="checkbox" name="checkall" id="check_all" onclick="checkalltests()"></input>' + ' Rerun' + '</th>' +
177 '<th>Failing Tests ( Latest → Oldest )</th>';
178 for( var i = 0; i < count; i++)
179 tableHeader += '<th>'+ (i+1) +'</th>';
180 tableHeader += '</thead>';
181 document.body.innerHTML += tableHeader;
182 document.body.innerHTML += '</table></div>';
184 forEachTest(processGlobalStateFor);
187 <!-- To run the tests -->
188 <script src="resources/archived-results-dashboard-test.js"></script>
189 <body onload="generatePage()">
192 <p><button onclick="rerun()">Re Run Tests</button></p>