summaryrefslogtreecommitdiff
path: root/toolkit/components/places/tests/browser/browser_bug680727.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/places/tests/browser/browser_bug680727.js')
-rw-r--r--toolkit/components/places/tests/browser/browser_bug680727.js109
1 files changed, 0 insertions, 109 deletions
diff --git a/toolkit/components/places/tests/browser/browser_bug680727.js b/toolkit/components/places/tests/browser/browser_bug680727.js
deleted file mode 100644
index 560cbfe6cc..0000000000
--- a/toolkit/components/places/tests/browser/browser_bug680727.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-/* Ensure that clicking the button in the Offline mode neterror page updates
- global history. See bug 680727. */
-/* TEST_PATH=toolkit/components/places/tests/browser/browser_bug680727.js make -C $(OBJDIR) mochitest-browser-chrome */
-
-
-const kUniqueURI = Services.io.newURI("http://mochi.test:8888/#bug_680727",
- null, null);
-var gAsyncHistory =
- Cc["@mozilla.org/browser/history;1"].getService(Ci.mozIAsyncHistory);
-
-var proxyPrefValue;
-var ourTab;
-
-function test() {
- waitForExplicitFinish();
-
- // Tests always connect to localhost, and per bug 87717, localhost is now
- // reachable in offline mode. To avoid this, disable any proxy.
- proxyPrefValue = Services.prefs.getIntPref("network.proxy.type");
- Services.prefs.setIntPref("network.proxy.type", 0);
-
- // Clear network cache.
- Components.classes["@mozilla.org/netwerk/cache-storage-service;1"]
- .getService(Components.interfaces.nsICacheStorageService)
- .clear();
-
- // Go offline, expecting the error page.
- Services.io.offline = true;
-
- BrowserTestUtils.openNewForegroundTab(gBrowser).then(tab => {
- ourTab = tab;
- BrowserTestUtils.waitForContentEvent(ourTab.linkedBrowser, "DOMContentLoaded")
- .then(errorListener);
- BrowserTestUtils.loadURI(ourTab.linkedBrowser, kUniqueURI.spec);
- });
-}
-
-// ------------------------------------------------------------------------------
-// listen to loading the neterror page. (offline mode)
-function errorListener() {
- ok(Services.io.offline, "Services.io.offline is true.");
-
- // This is an error page.
- ContentTask.spawn(ourTab.linkedBrowser, kUniqueURI.spec, function(uri) {
- Assert.equal(content.document.documentURI.substring(0, 27),
- "about:neterror?e=netOffline", "Document URI is the error page.");
-
- // But location bar should show the original request.
- Assert.equal(content.location.href, uri, "Docshell URI is the original URI.");
- }).then(() => {
- // Global history does not record URI of a failed request.
- return PlacesTestUtils.promiseAsyncUpdates().then(() => {
- gAsyncHistory.isURIVisited(kUniqueURI, errorAsyncListener);
- });
- });
-}
-
-function errorAsyncListener(aURI, aIsVisited) {
- ok(kUniqueURI.equals(aURI) && !aIsVisited,
- "The neterror page is not listed in global history.");
-
- Services.prefs.setIntPref("network.proxy.type", proxyPrefValue);
-
- // Now press the "Try Again" button, with offline mode off.
- Services.io.offline = false;
-
- BrowserTestUtils.waitForContentEvent(ourTab.linkedBrowser, "DOMContentLoaded")
- .then(reloadListener);
-
- ContentTask.spawn(ourTab.linkedBrowser, null, function() {
- Assert.ok(content.document.getElementById("errorTryAgain"),
- "The error page has got a #errorTryAgain element");
- content.document.getElementById("errorTryAgain").click();
- });
-}
-
-// ------------------------------------------------------------------------------
-// listen to reload of neterror.
-function reloadListener() {
- // This listener catches "DOMContentLoaded" on being called
- // nsIWPL::onLocationChange(...). That is right *AFTER*
- // IHistory::VisitURI(...) is called.
- ok(!Services.io.offline, "Services.io.offline is false.");
-
- ContentTask.spawn(ourTab.linkedBrowser, kUniqueURI.spec, function(uri) {
- // This is not an error page.
- Assert.equal(content.document.documentURI, uri,
- "Document URI is not the offline-error page, but the original URI.");
- }).then(() => {
- // Check if global history remembers the successfully-requested URI.
- PlacesTestUtils.promiseAsyncUpdates().then(() => {
- gAsyncHistory.isURIVisited(kUniqueURI, reloadAsyncListener);
- });
- });
-}
-
-function reloadAsyncListener(aURI, aIsVisited) {
- ok(kUniqueURI.equals(aURI) && aIsVisited, "We have visited the URI.");
- PlacesTestUtils.clearHistory().then(finish);
-}
-
-registerCleanupFunction(function* () {
- Services.prefs.setIntPref("network.proxy.type", proxyPrefValue);
- Services.io.offline = false;
- yield BrowserTestUtils.removeTab(ourTab);
-});