Bug 1409617 - Convert test_ext_history_redirect.html to browser test and make it a bit robust. r?aswan
MozReview-Commit-ID: FKvBB01ntm4
--- a/browser/components/extensions/test/browser/browser-common.ini
+++ b/browser/components/extensions/test/browser/browser-common.ini
@@ -27,16 +27,17 @@ support-files =
locale/chrome.manifest
webNav_createdTarget.html
webNav_createdTargetSource.html
webNav_createdTargetSource_subframe.html
serviceWorker.js
searchSuggestionEngine.xml
searchSuggestionEngine.sjs
../../../../../toolkit/components/extensions/test/mochitest/head_webrequest.js
+ ../../../../../toolkit/components/extensions/test/mochitest/redirection.sjs
../../../../../toolkit/components/reader/test/readerModeNonArticle.html
../../../../../toolkit/components/reader/test/readerModeArticle.html
[browser_ext_browserAction_area.js]
[browser_ext_browserAction_context.js]
[browser_ext_browserAction_contextMenu.js]
# bug 1369197
skip-if = os == 'linux'
@@ -79,16 +80,17 @@ skip-if = (os == 'win' && !debug) # bug
[browser_ext_devtools_network.js]
[browser_ext_devtools_page.js]
[browser_ext_devtools_panel.js]
[browser_ext_devtools_panels_elements.js]
[browser_ext_devtools_panels_elements_sidebar.js]
[browser_ext_find.js]
[browser_ext_geckoProfiler_symbolicate.js]
[browser_ext_getViews.js]
+[browser_ext_history_redirect.js]
[browser_ext_identity_indication.js]
[browser_ext_incognito_views.js]
[browser_ext_incognito_popup.js]
[browser_ext_lastError.js]
[browser_ext_menus.js]
[browser_ext_omnibox.js]
[browser_ext_openPanel.js]
[browser_ext_optionsPage_browser_style.js]
rename from browser/components/extensions/test/mochitest/test_ext_history_redirect.html
rename to browser/components/extensions/test/browser/browser_ext_history_redirect.js
--- a/browser/components/extensions/test/mochitest/test_ext_history_redirect.html
+++ b/browser/components/extensions/test/browser/browser_ext_history_redirect.js
@@ -1,31 +1,13 @@
-<!DOCTYPE HTML>
-<html>
-<head>
- <title>Test for simple WebExtension</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>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-
-<script type="text/javascript">
"use strict";
-const REDIRECT_URL = new URL("redirection.sjs", location).href;
-
-function waitForLoad(win) {
- return new Promise(resolve => {
- win.addEventListener("load", function() {
- resolve();
- }, {capture: true, once: true});
- });
-}
+const BASE = "http://mochi.test:8888/browser/browser/components/extensions/test/browser";
+const REDIRECT_URL = BASE + "/redirection.sjs";
+const REDIRECTED_URL = BASE + "/dummy_page.html";
add_task(async function history_redirect() {
function background() {
browser.test.onMessage.addListener(async (msg, url) => {
switch (msg) {
case "delete-all": {
let results = await browser.history.deleteAll();
browser.test.sendMessage("delete-all-result", results);
@@ -59,29 +41,23 @@ add_task(async function history_redirect
let extension = ExtensionTestUtils.loadExtension(extensionData);
await Promise.all([extension.startup(), extension.awaitMessage("ready")]);
info("extension loaded");
extension.sendMessage("delete-all");
await extension.awaitMessage("delete-all-result");
- let win = window.open(REDIRECT_URL);
- await waitForLoad(win);
-
- extension.sendMessage("search", REDIRECT_URL);
- let results = await extension.awaitMessage("search-result");
- is(results.length, 1, "search returned expected length of results");
+ await BrowserTestUtils.withNewTab({gBrowser, url: REDIRECT_URL}, async (browser) => {
+ is(browser.currentURI.spec, REDIRECTED_URL, "redirected to the expected location");
- extension.sendMessage("get-visits", REDIRECT_URL);
- let visits = await extension.awaitMessage("get-visits-result");
- is(visits.length, 1, "getVisits returned expected length of visits");
+ extension.sendMessage("search", REDIRECT_URL);
+ let results = await extension.awaitMessage("search-result");
+ is(results.length, 1, "search returned expected length of results");
- // cleanup phase
- win.close();
+ extension.sendMessage("get-visits", REDIRECT_URL);
+ let visits = await extension.awaitMessage("get-visits-result");
+ is(visits.length, 1, "getVisits returned expected length of visits");
+ });
await extension.unload();
info("extension unloaded");
});
-</script>
-
-</body>
-</html>
--- a/browser/components/extensions/test/mochitest/mochitest.ini
+++ b/browser/components/extensions/test/mochitest/mochitest.ini
@@ -1,9 +1,7 @@
[DEFAULT]
support-files =
../../../../../toolkit/components/extensions/test/mochitest/test_ext_all_apis.js
../../../../../toolkit/components/extensions/test/mochitest/file_sample.html
- ../../../../../toolkit/components/extensions/test/mochitest/redirection.sjs
tags = webextensions
[test_ext_all_apis.html]
-[test_ext_history_redirect.html]