summaryrefslogtreecommitdiffstats
path: root/toolkit/components/extensions/test/mochitest/test_ext_sendmessage_doublereply.html
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2018-02-09 11:10:00 -0500
committerMatt A. Tobin <email@mattatobin.com>2018-02-09 11:10:00 -0500
commitf164d9124708b50789dbb6959e1de96cc5697c48 (patch)
tree6dffd12e08c5383130df0252fb69cd6d6330794f /toolkit/components/extensions/test/mochitest/test_ext_sendmessage_doublereply.html
parent30de4018913f0cdaea19d1dd12ecd8209e2ed08e (diff)
downloadUXP-f164d9124708b50789dbb6959e1de96cc5697c48.tar
UXP-f164d9124708b50789dbb6959e1de96cc5697c48.tar.gz
UXP-f164d9124708b50789dbb6959e1de96cc5697c48.tar.lz
UXP-f164d9124708b50789dbb6959e1de96cc5697c48.tar.xz
UXP-f164d9124708b50789dbb6959e1de96cc5697c48.zip
Rename Toolkit's webextensions component directory to better reflect what it is.
Diffstat (limited to 'toolkit/components/extensions/test/mochitest/test_ext_sendmessage_doublereply.html')
-rw-r--r--toolkit/components/extensions/test/mochitest/test_ext_sendmessage_doublereply.html101
1 files changed, 0 insertions, 101 deletions
diff --git a/toolkit/components/extensions/test/mochitest/test_ext_sendmessage_doublereply.html b/toolkit/components/extensions/test/mochitest/test_ext_sendmessage_doublereply.html
deleted file mode 100644
index a3ef37cad..000000000
--- a/toolkit/components/extensions/test/mochitest/test_ext_sendmessage_doublereply.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>WebExtension test</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 background() {
- // Add two listeners that both send replies. We're supposed to ignore all but one
- // of them. Which one is chosen is non-deterministic.
-
- browser.runtime.onMessage.addListener((msg, sender, sendReply) => {
- browser.test.assertTrue(sender.tab.url.endsWith("file_sample.html"), "sender url correct");
-
- if (msg == "getreply") {
- sendReply("reply1");
- }
- });
-
- browser.runtime.onMessage.addListener((msg, sender, sendReply) => {
- browser.test.assertTrue(sender.tab.url.endsWith("file_sample.html"), "sender url correct");
-
- if (msg == "getreply") {
- sendReply("reply2");
- }
- });
-
- function sleep(callback, n = 10) {
- if (n == 0) {
- callback();
- } else {
- setTimeout(function() { sleep(callback, n - 1); }, 0);
- }
- }
-
- let done_count = 0;
- browser.runtime.onMessage.addListener((msg, sender, sendReply) => {
- browser.test.assertTrue(sender.tab.url.endsWith("file_sample.html"), "sender url correct");
-
- if (msg == "done") {
- done_count++;
- browser.test.assertEq(done_count, 1, "got exactly one reply");
-
- // Go through the event loop a few times to make sure we don't get multiple replies.
- sleep(function() {
- browser.test.notifyPass("sendmessage_doublereply");
- });
- }
- });
-}
-
-function contentScript() {
- browser.runtime.sendMessage("getreply", function(resp) {
- if (resp != "reply1" && resp != "reply2") {
- return; // test failed
- }
- browser.runtime.sendMessage("done");
- });
-}
-
-let extensionData = {
- background,
- manifest: {
- "permissions": ["tabs"],
- "content_scripts": [{
- "matches": ["http://mochi.test/*/file_sample.html"],
- "js": ["content_script.js"],
- "run_at": "document_start",
- }],
- },
-
- files: {
- "content_script.js": contentScript,
- },
-};
-
-add_task(function* test_contentscript() {
- let extension = ExtensionTestUtils.loadExtension(extensionData);
- yield extension.startup();
-
- let win = window.open("file_sample.html");
-
- yield Promise.all([waitForLoad(win), extension.awaitFinish("sendmessage_doublereply")]);
-
- win.close();
-
- yield extension.unload();
- info("extension unloaded");
-});
-</script>
-
-</body>
-</html>