115 lines
2.9 KiB
HTML
115 lines
2.9 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<!--
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=
|
|
-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Test for Bug </title>
|
|
|
|
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
|
|
</head>
|
|
<body>
|
|
<pre id="test">
|
|
<script type="application/javascript;version=1.8" src="./director-helpers.js"></script>
|
|
<script type="application/javascript;version=1.8">
|
|
const WAIT_EVENT_TIMEOUT = 3000;
|
|
|
|
window.onload = function() {
|
|
Task.spawn(function* () {
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var tests = [
|
|
runDirectorRegistryActorTest
|
|
].map((testCase) => {
|
|
return function* () {
|
|
setup();
|
|
yield testCase().then(null, (e) => {
|
|
console.error("Exception during testCase run", e);
|
|
ok(false, "Exception during testCase run: " + [e, e.fileName, e.lineNumber].join("\n\t"));
|
|
});
|
|
|
|
teardown();
|
|
};
|
|
});
|
|
|
|
for (var test of tests) {
|
|
yield test();
|
|
}
|
|
}).then(
|
|
function success() {
|
|
SimpleTest.finish()
|
|
},
|
|
function error(e) {
|
|
console.error("Exception during testCase run", e);
|
|
ok(false, "Exception during testCase run: " + [e, e.fileName, e.lineNumber].join("\n\t"));
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
);
|
|
};
|
|
|
|
var targetWin = null;
|
|
|
|
function setup() {
|
|
if (!DebuggerServer.initialized) {
|
|
DebuggerServer.init(() => true);
|
|
DebuggerServer.addBrowserActors();
|
|
|
|
SimpleTest.registerCleanupFunction(teardown);
|
|
}
|
|
}
|
|
|
|
function teardown() {
|
|
purgeInstalledDirectorScripts();
|
|
|
|
DebuggerServer.destroy();
|
|
if (targetWin) {
|
|
targetWin.close();
|
|
}
|
|
}
|
|
|
|
/***********************************
|
|
* test cases
|
|
**********************************/
|
|
|
|
|
|
function runDirectorRegistryActorTest() {
|
|
let testDirectorScriptOptions = {
|
|
scriptCode: "(" + (function() {
|
|
module.exports = function({port}) {
|
|
port.onmessage = function(evt) {
|
|
// echo messages
|
|
evt.source.postMessage(evt.data);
|
|
};
|
|
};
|
|
}).toString() + ")();",
|
|
scriptOptions: {}
|
|
}
|
|
|
|
return Task.spawn(function* () {
|
|
let { client, root } = yield newConnectedDebuggerClient();
|
|
|
|
var directorRegistryClient = new DirectorRegistryFront(client, root);
|
|
|
|
let installed = yield directorRegistryClient.install("testDirectorScript", testDirectorScriptOptions);
|
|
is(installed, true, "DirectorManager.install returns true");
|
|
|
|
let list = yield directorRegistryClient.list();
|
|
is(JSON.stringify(list), JSON.stringify(["testDirectorScript"]),
|
|
"DirectorManager.list contains the installed director script");
|
|
|
|
let uninstalled = yield directorRegistryClient.uninstall("testDirectorScript");
|
|
is(uninstalled, true, "DirectorManager.uninstall return true");
|
|
|
|
yield client.close();
|
|
});
|
|
}
|
|
|
|
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|