diff options
Diffstat (limited to 'toolkit/components/webextensions/test/mochitest/test_ext_permission_xhr.html')
-rw-r--r-- | toolkit/components/webextensions/test/mochitest/test_ext_permission_xhr.html | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/toolkit/components/webextensions/test/mochitest/test_ext_permission_xhr.html b/toolkit/components/webextensions/test/mochitest/test_ext_permission_xhr.html deleted file mode 100644 index 07967d5d0..000000000 --- a/toolkit/components/webextensions/test/mochitest/test_ext_permission_xhr.html +++ /dev/null @@ -1,119 +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"; - -/* eslint-disable mozilla/balanced-listeners */ - -add_task(function* test_simple() { - async function runTests(cx) { - function xhr(XMLHttpRequest) { - return (url) => { - return new Promise((resolve, reject) => { - let req = new XMLHttpRequest(); - req.open("GET", url); - req.addEventListener("load", resolve); - req.addEventListener("error", reject); - req.send(); - }); - }; - } - - function run(shouldFail, fetch) { - function passListener() { - browser.test.succeed(`${cx}.${fetch.name} pass listener`); - } - - function failListener() { - browser.test.fail(`${cx}.${fetch.name} fail listener`); - } - - /* eslint-disable no-else-return */ - if (shouldFail) { - return fetch("http://example.org/example.txt").then(failListener, passListener); - } else { - return fetch("http://example.com/example.txt").then(passListener, failListener); - } - /* eslint-enable no-else-return */ - } - - try { - await run(true, xhr(XMLHttpRequest)); - await run(false, xhr(XMLHttpRequest)); - await run(true, xhr(window.XMLHttpRequest)); - await run(false, xhr(window.XMLHttpRequest)); - await run(true, fetch); - await run(false, fetch); - await run(true, window.fetch); - await run(false, window.fetch); - } catch (err) { - browser.test.fail(`Error: ${err} :: ${err.stack}`); - browser.test.notifyFail("permission_xhr"); - } - } - - async function background(runTestsFn) { - await runTestsFn("bg"); - browser.test.notifyPass("permission_xhr"); - } - - let extensionData = { - background: `(${background})(${runTests})`, - manifest: { - permissions: ["http://example.com/"], - content_scripts: [{ - "matches": ["http://mochi.test/*/file_permission_xhr.html"], - "js": ["content.js"], - }], - }, - files: { - "content.js": `(${async runTestsFn => { - await runTestsFn("content"); - - window.wrappedJSObject.privilegedFetch = fetch; - window.wrappedJSObject.privilegedXHR = XMLHttpRequest; - - window.addEventListener("message", function rcv({data}) { - switch (data.msg) { - case "test": - break; - - case "assertTrue": - browser.test.assertTrue(data.condition, data.description); - break; - - case "finish": - window.removeEventListener("message", rcv, false); - browser.test.sendMessage("content-script-finished"); - break; - } - }, false); - window.postMessage("test", "*"); - }})(${runTests})`, - }, - }; - - let extension = ExtensionTestUtils.loadExtension(extensionData); - yield extension.startup(); - - let win = window.open("file_permission_xhr.html"); - yield extension.awaitMessage("content-script-finished"); - win.close(); - - yield extension.awaitFinish("permission_xhr"); - yield extension.unload(); -}); -</script> - -</body> -</html> |