<!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>