summaryrefslogtreecommitdiffstats
path: root/testing/mochitest/harness.xhtml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/mochitest/harness.xhtml
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/mochitest/harness.xhtml')
-rw-r--r--testing/mochitest/harness.xhtml100
1 files changed, 100 insertions, 0 deletions
diff --git a/testing/mochitest/harness.xhtml b/testing/mochitest/harness.xhtml
new file mode 100644
index 0000000000..e5fec05fe8
--- /dev/null
+++ b/testing/mochitest/harness.xhtml
@@ -0,0 +1,100 @@
+<?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 src="chrome://mochikit/content/tests/SimpleTest/LogController.js"/>
+ <script src="chrome://mochikit/content/tests/SimpleTest/MemoryStats.js"/>
+ <script src="chrome://mochikit/content/tests/SimpleTest/TestRunner.js"/>
+ <script src="chrome://mochikit/content/tests/SimpleTest/MozillaLogger.js"/>
+ <script src="chrome://mochikit/content/chrome-harness.js" />
+ <script src="chrome://mochikit/content/chunkifyTests.js" />
+ <script src="chrome://mochikit/content/manifestLibrary.js" />
+ <script src="chrome://mochikit/content/tests/SimpleTest/setup.js" />
+ <script type="application/javascript"><![CDATA[
+
+function loadTests()
+{
+ window.removeEventListener("load", loadTests);
+ getTestList({}, linkAndHookup);
+}
+
+function linkAndHookup(links) {
+ // load server.js in so we can share template functions
+ var srvScope = {};
+ Services.scriptloader.loadSubScript('chrome://mochikit/content/server.js',
+ srvScope);
+
+ // generate our test list
+ srvScope.makeTags();
+ var tableContent = srvScope.linksToTableRows(links, 0);
+
+ function populate() {
+ // eslint-disable-next-line no-unsanitized/property
+ document.getElementById("test-table").innerHTML += tableContent;
+ }
+ gTestList = JSON.parse(srvScope.jsonArrayOfTestFiles(links));
+ populate();
+
+ hookup();
+}
+
+ window.addEventListener("load", loadTests);
+ ]]>
+ </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>