diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /toolkit/components/extensions/test/mochitest/test_chrome_ext_eventpage_warning.html | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'toolkit/components/extensions/test/mochitest/test_chrome_ext_eventpage_warning.html')
-rw-r--r-- | toolkit/components/extensions/test/mochitest/test_chrome_ext_eventpage_warning.html | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/toolkit/components/extensions/test/mochitest/test_chrome_ext_eventpage_warning.html b/toolkit/components/extensions/test/mochitest/test_chrome_ext_eventpage_warning.html new file mode 100644 index 000000000..ecea8237e --- /dev/null +++ b/toolkit/components/extensions/test/mochitest/test_chrome_ext_eventpage_warning.html @@ -0,0 +1,106 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Test for WebExtension EventPage Warning</title> + <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> + <script src="chrome://mochikit/content/tests/SimpleTest/SpawnTask.js"></script> + <script src="chrome://mochikit/content/tests/SimpleTest/ExtensionTestUtils.js"></script> + <script type="text/javascript" src="chrome_head.js"></script> + <script type="text/javascript" src="head.js"></script> + <link rel="stylesheet" href="chrome://mochikit/contents/tests/SimpleTest/test.css"/> +</head> +<body> + +<script type="text/javascript"> +"use strict"; + +function createEventPageExtension(eventPage) { + function eventPageScript() { + browser.test.log("running event page as background script"); + browser.test.sendMessage("running", 1); + } + + return ExtensionTestUtils.loadExtension({ + manifest: { + "background": eventPage, + }, + files: { + "event-page-script.js": eventPageScript, + "event-page.html": `<html><head> + <meta charset="utf-8"> + <script src="event-page-script.js"><\/script> + </head></html>`, + }, + }); +} + +add_task(function* test_eventpages() { + // Used in other tests to prevent the monitorConsole to grip. + SimpleTest.waitForExplicitFinish(); + + let testCases = [ + { + message: "testing event page running as a background page", + eventPage: { + "page": "event-page.html", + "persistent": false, + }, + }, + { + message: "testing event page scripts running as a background page", + eventPage: { + "scripts": ["event-page-script.js"], + "persistent": false, + }, + }, + ]; + + for (let {message, eventPage} of testCases) { + info(message); + + // Wait for the expected logged warnings from the manifest validation. + let waitForConsole = new Promise(resolve => { + SimpleTest.monitorConsole(resolve, [{message: /Event pages are not currently supported./}]); + }); + + let extension = createEventPageExtension(eventPage); + + info("load complete"); + let [, x] = yield Promise.all([extension.startup(), extension.awaitMessage("running")]); + is(x, 1, "got correct value from extension"); + info("test complete"); + yield extension.unload(); + info("extension unloaded successfully"); + + SimpleTest.endMonitorConsole(); + yield waitForConsole; + + waitForConsole = new Promise(resolve => { + SimpleTest.monitorConsole(resolve, [{ + message: /Reading manifest: Error processing background.nonExistentProp: An unexpected property was found/, + }]); + }); + + info("testing additional unrecognized properties on background page"); + + extension = createEventPageExtension({ + "scripts": ["event-page-script.js"], + "nonExistentProp": true, + }); + + info("load complete"); + [, x] = yield Promise.all([extension.startup(), extension.awaitMessage("running")]); + is(x, 1, "got correct value from extension"); + info("test complete"); + yield extension.unload(); + info("extension unloaded successfully"); + + SimpleTest.endMonitorConsole(); + yield waitForConsole; + } +}); + +</script> + +</body> +</html> |