diff options
Diffstat (limited to 'toolkit/components/webextensions/test/mochitest/test_ext_external_messaging.html')
-rw-r--r-- | toolkit/components/webextensions/test/mochitest/test_ext_external_messaging.html | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/toolkit/components/webextensions/test/mochitest/test_ext_external_messaging.html b/toolkit/components/webextensions/test/mochitest/test_ext_external_messaging.html deleted file mode 100644 index dfc1f9427..000000000 --- a/toolkit/components/webextensions/test/mochitest/test_ext_external_messaging.html +++ /dev/null @@ -1,111 +0,0 @@ -<!DOCTYPE HTML> -<html> -<head> - <title>WebExtension external messaging</title> - <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script> - <script type="text/javascript" src="/tests/SimpleTest/ExtensionTestUtils.js"></script> - <script type="text/javascript" src="head.js"></script> - <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> -</head> -<body> - -<script type="text/javascript"> -"use strict"; - -function backgroundScript(id, otherId) { - browser.runtime.onMessage.addListener((msg, sender) => { - browser.test.fail(`Got unexpected message: ${uneval(msg)} ${uneval(sender)}`); - }); - - browser.runtime.onConnect.addListener(port => { - browser.test.fail(`Got unexpected connection: ${uneval(port.sender)}`); - }); - - browser.runtime.onMessageExternal.addListener((msg, sender) => { - browser.test.assertEq(otherId, sender.id, `${id}: Got expected external sender ID`); - browser.test.assertEq(`helo-${id}`, msg, "Got expected message"); - - browser.test.sendMessage("onMessage-done"); - - return Promise.resolve(`ehlo-${otherId}`); - }); - - browser.runtime.onConnectExternal.addListener(port => { - browser.test.assertEq(otherId, port.sender.id, `${id}: Got expected external connecter ID`); - - port.onMessage.addListener(msg => { - browser.test.assertEq(`helo-${id}`, msg, "Got expected port message"); - - port.postMessage(`ehlo-${otherId}`); - - browser.test.sendMessage("onConnect-done"); - }); - }); - - browser.test.onMessage.addListener(msg => { - if (msg === "go") { - browser.runtime.sendMessage(otherId, `helo-${otherId}`).then(result => { - browser.test.assertEq(`ehlo-${id}`, result, "Got expected reply"); - browser.test.sendMessage("sendMessage-done"); - }); - - let port = browser.runtime.connect(otherId); - port.postMessage(`helo-${otherId}`); - - port.onMessage.addListener(msg => { - port.disconnect(); - - browser.test.assertEq(msg, `ehlo-${id}`, "Got expected port reply"); - browser.test.sendMessage("connect-done"); - }); - } - }); -} - -function makeExtension(id, otherId) { - let args = `${JSON.stringify(id)}, ${JSON.stringify(otherId)}`; - - let extensionData = { - background: `(${backgroundScript})(${args})`, - manifest: { - "applications": {"gecko": {id}}, - }, - }; - - return ExtensionTestUtils.loadExtension(extensionData); -} - -add_task(function* test_contentscript() { - const ID1 = "foo-message@mochitest.mozilla.org"; - const ID2 = "bar-message@mochitest.mozilla.org"; - - let extension1 = makeExtension(ID1, ID2); - let extension2 = makeExtension(ID2, ID1); - - yield Promise.all([extension1.startup(), extension2.startup()]); - - extension1.sendMessage("go"); - extension2.sendMessage("go"); - - yield Promise.all([ - extension1.awaitMessage("sendMessage-done"), - extension2.awaitMessage("sendMessage-done"), - - extension1.awaitMessage("onMessage-done"), - extension2.awaitMessage("onMessage-done"), - - extension1.awaitMessage("connect-done"), - extension2.awaitMessage("connect-done"), - - extension1.awaitMessage("onConnect-done"), - extension2.awaitMessage("onConnect-done"), - ]); - - yield extension1.unload(); - yield extension2.unload(); -}); -</script> - -</body> -</html> |