summaryrefslogtreecommitdiffstats
path: root/testing/mochitest/harness.xul
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mochitest/harness.xul')
-rw-r--r--testing/mochitest/harness.xul116
1 files changed, 116 insertions, 0 deletions
diff --git a/testing/mochitest/harness.xul b/testing/mochitest/harness.xul
new file mode 100644
index 000000000..3ad3d692f
--- /dev/null
+++ b/testing/mochitest/harness.xul
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
+<?xml-stylesheet href="chrome://mochikit/content/static/harness.css"
+ type="text/css"?>
+
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ title="Chrome Test Harness"
+ directory="chrome">
+
+ <script type="text/javascript"
+ src="chrome://mochikit/content/tests/SimpleTest/LogController.js"/>
+ <script type="text/javascript"
+ src="chrome://mochikit/content/tests/SimpleTest/MemoryStats.js"/>
+ <script type="text/javascript"
+ src="chrome://mochikit/content/tests/SimpleTest/StructuredLog.jsm"/>
+ <script type="text/javascript"
+ src="chrome://mochikit/content/tests/SimpleTest/TestRunner.js"/>
+ <script type="text/javascript"
+ src="chrome://mochikit/content/tests/SimpleTest/MozillaLogger.js"/>
+ <script type="application/javascript"
+ src="chrome://mochikit/content/chrome-harness.js" />
+ <script type="application/javascript"
+ src="chrome://mochikit/content/chunkifyTests.js" />
+ <script type="application/javascript"
+ src="chrome://mochikit/content/manifestLibrary.js" />
+ <script type="text/javascript"
+ src="chrome://mochikit/content/tests/SimpleTest/setup.js" />
+ <script type="application/javascript;version=1.7"><![CDATA[
+
+if (Cc === undefined) {
+ var Cc = Components.classes;
+ var Ci = Components.interfaces;
+}
+
+function loadTests()
+{
+ window.removeEventListener("load", loadTests, false);
+ getTestList({}, linkAndHookup);
+}
+
+function linkAndHookup(links) {
+ // load server.js in so we can share template functions
+ var scriptLoader = Cc["@mozilla.org/moz/jssubscript-loader;1"].
+ getService(Ci.mozIJSSubScriptLoader);
+ var srvScope = {};
+ scriptLoader.loadSubScript('chrome://mochikit/content/server.js',
+ srvScope);
+
+ // generate our test list
+ srvScope.makeTags();
+ var tableContent = srvScope.linksToTableRows(links, 0);
+
+ function populate() {
+ document.getElementById("test-table").innerHTML += tableContent;
+ }
+ gTestList = eval(srvScope.jsonArrayOfTestFiles(links));
+ populate();
+
+ hookup();
+}
+
+ window.addEventListener("load", loadTests, false);
+ ]]>
+ </script>
+
+ <vbox>
+ <button label="Run Chrome Tests" id="runtests" flex="1"/>
+
+ <body xmlns="http://www.w3.org/1999/xhtml" id="xulharness">
+ <!--TODO: this should be separated into a file that both this file and server.js uses-->
+ <div class="container">
+ <p style="float:right;">
+ <small>Based on the MochiKit unit tests.</small>
+ </p>
+ <div class="status">
+ <h1 id="indicator">Status</h1>
+ <h2 id="pass">Passed: <span id="pass-count">0</span></h2>
+ <h2 id="fail">Failed: <span id="fail-count">0</span></h2>
+ <h2 id="fail">Todo: <span id="todo-count">0</span></h2>
+ </div>
+ <div class="clear"></div>
+ <div id="current-test">
+ <b>Currently Executing: <span id="current-test-path">_</span></b>
+ </div>
+ <div class="clear"></div>
+ <div class="frameholder">
+ <iframe type="content" id="testframe" width="550" height="350"></iframe>
+ </div>
+ <div class="clear"></div>
+ <div class="toggle">
+ <a href="#" id="toggleNonTests">Show Non-Tests</a>
+ <br />
+ </div>
+ <div id="wrapper">
+ <table cellpadding="0" cellspacing="0">
+ <!-- tbody needed to avoid bug 494546 causing performance problems -->
+ <tbody id="test-table">
+ <tr>
+ <td>Passed</td>
+ <td>Failed</td>
+ <td>Todo</td>
+ <td>Test Files</td>
+ </tr>
+ </tbody>
+ </table>
+ <br/>
+ <table cellpadding="0" cellspacing="0" border="1" bordercolor="red">
+ <!-- tbody needed to avoid bug 494546 causing performance problems -->
+ <tbody id="fail-table">
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </body>
+ </vbox>
+</window>