diff --git a/testing/mochitest/harness-overlay.xul b/testing/mochitest/harness-overlay.xul index 4b2eab62fd5e..70846c157ba9 100644 --- a/testing/mochitest/harness-overlay.xul +++ b/testing/mochitest/harness-overlay.xul @@ -46,8 +46,11 @@ srvScope.makeTags(); var url = "chrome://mochikit/content/" + dir + "/"; var [links, count] = srvScope.list(url, chromeDir, true); - var tableContent = srvScope.linksToTableRows(links, 0); + var listContent = srvScope.linksToListItems(links); + var tableContent = srvScope.linksToTableRows(links); function populate() { + $("list-holder").setAttribute("rowspan", 1 + count); + $("test-list").innerHTML += listContent; $("test-table").innerHTML += tableContent; $("wrapper").innerHTML += " "; // redraw the table } @@ -96,7 +99,9 @@ Passed Failed Todo - Test Files + + + diff --git a/testing/mochitest/server.js b/testing/mochitest/server.js index a0f0f6b9e97d..47e4537025a9 100644 --- a/testing/mochitest/server.js +++ b/testing/mochitest/server.js @@ -399,45 +399,20 @@ function linksToListItems(links) /** * Transform nested hashtables of paths to a flat table rows. */ -function linksToTableRows(links, recursionLevel) +function linksToTableRows(links) { var response = ""; for (var [link, value] in links) { var classVal = (!isTest(link) && !(value instanceof Object)) ? "non-test invisible" : ""; - - spacer = "padding-left: " + (10 * recursionLevel) + "px"; - if (value instanceof Object) { response += TR({class: "dir", id: "tr-" + link }, - TD({colspan: "3"}, " "), - TD({style: spacer}, - A({href: link}, link))); - response += linksToTableRows(value, recursionLevel + 1); + TD({colspan: "3"}," ")); + response += linksToTableRows(value); } else { - var bug_title = link.match(/test_bug\S+/); - var bug_num = null; - if (bug_title != null) { - bug_num = bug_title[0].match(/\d+/); - } - if ((bug_title == null) || (bug_num == null)) { - response += TR({class: classVal, id: "tr-" + link }, - TD("0"), - TD("0"), - TD("0"), - TD({style: spacer}, - A({href: link}, link))); - } else { - var bug_url = "https://bugzilla.mozilla.org/show_bug.cgi?id=" + bug_num; - response += TR({class: classVal, id: "tr-" + link }, - TD("0"), - TD("0"), - TD("0"), - TD({style: spacer}, - A({href: link}, link), " - ", - A({href: bug_url}, "Bug " + bug_num))); - } + response += TR({class: classVal, id: "tr-" + link}, + TD("0"), TD("0"), TD("0")); } } return response; @@ -549,8 +524,15 @@ function testListing(metadata, response) ), TABLE({cellpadding: 0, cellspacing: 0, id: "test-table"}, - TR(TD("Passed"), TD("Failed"), TD("Todo"), TD("Test Files")), - linksToTableRows(links, 0) + TR(TD("Passed"), TD("Failed"), TD("Todo"), + TD({rowspan: count+1}, + UL({class: "top"}, + LI(B("Test Files")), + linksToListItems(links) + ) + ) + ), + linksToTableRows(links) ), DIV({class: "clear"}) ) diff --git a/testing/mochitest/tests/SimpleTest/TestRunner.js b/testing/mochitest/tests/SimpleTest/TestRunner.js index 2a00fd7b225b..66bccb15fe85 100644 --- a/testing/mochitest/tests/SimpleTest/TestRunner.js +++ b/testing/mochitest/tests/SimpleTest/TestRunner.js @@ -197,11 +197,12 @@ TestRunner.updateUI = function() { // Set the table values var trID = "tr-" + $('current-test-path').innerHTML; var row = $(trID); - var tds = row.getElementsByTagName("td"); - tds[0].style.backgroundColor = results.notOK > 0 ? "#f00" : "#0d0"; - tds[0].textContent = results.OK; - tds[1].style.backgroundColor = results.notOK > 0 ? "#f00" : "#0d0"; - tds[1].textContent = results.notOK; - tds[2].style.backgroundColor = results.todo > 0 ? "orange" : "#0d0"; - tds[2].textContent = results.todo; + replaceChildNodes(row, + TD({'style': + {'backgroundColor': results.notOK > 0 ? "#f00":"#0d0"}}, results.OK), + TD({'style': + {'backgroundColor': results.notOK > 0 ? "#f00":"#0d0"}}, results.notOK), + TD({'style': {'backgroundColor': + results.todo > 0 ? "orange":"#0d0"}}, results.todo) + ); }