Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: chrome/content/index.html

Issue 5745141503492096: Issue 1561 - Move unit tests out of the browser`s content area (Closed)
Patch Set: Created Nov. 14, 2014, 11:11 p.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/content/index.html
===================================================================
--- a/chrome/content/index.html
+++ b/chrome/content/index.html
@@ -6,55 +6,51 @@
<script src="qunit.js"></script>
<script src="common.js" type="text/javascript;version=1.7"></script>
<script src="httpd.js" type="text/javascript;version=1.7"></script>
<script type="text/javascript;version=1.7">
Cu.import("resource://gre/modules/Services.jsm");
function getTestFiles()
{
- let module = {};
- module.wrappedJSObject = module;
- Services.obs.notifyObservers(module, "adblockplustests-require", "info");
+ function require(module)
+ {
+ let result = {};
+ result.wrappedJSObject = result;
+ Services.obs.notifyObservers(result, "adblockplustests-require", module);
+ return result.exports;
+ }
- let {addonRoot} = module.exports;
- let uri = Services.io.newURI(addonRoot, null, null).QueryInterface(Components.interfaces.nsIJARURI);
-
- let result = [];
+ let result;
if ("test" in QUnit.urlParams)
- result.push("tests/" + QUnit.urlParams.test + ".js");
+ result = ["tests/" + QUnit.urlParams.test + ".js"];
else
{
- let zipReader = Cc["@mozilla.org/libjar/zip-reader;1"].createInstance(Ci.nsIZipReader);
- zipReader.open(uri.JARFile.QueryInterface(Ci.nsIFileURL).file);
-
- let enumerator = zipReader.findEntries(null);
- let prefix = "chrome/content/tests/";
- while (enumerator.hasMore())
- {
- let name = enumerator.getNext();
- if (name.indexOf(prefix) == 0 && /\.js$/.test(name))
- result.push("tests/" + name.replace(prefix, ""));
- }
-
- zipReader.close();
+ let {getTests} = require("main");
+ result = ["tests/" + test + ".js" for (test of getTests())];
}
result.sort();
return result;
}
let files = getTestFiles();
for (let file of files)
{
let script = document.createElement("script");
script.setAttribute("src", file);
script.setAttribute("type", "text/javascript;version=1.7");
document.documentElement.appendChild(script);
}
+
+ window.addEventListener("unload", function()
+ {
+ if (QUnit.config.current)
+ QUnit.config.current.testEnvironment.teardown();
+ }, false);
</script>
</head>
<body>
<h1 id="qunit-header">Adblock Plus unit tests</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>

Powered by Google App Engine
This is Rietveld