summaryrefslogtreecommitdiffstats
path: root/browser/components/sessionstore/test/browser_async_flushes.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/sessionstore/test/browser_async_flushes.js')
-rw-r--r--browser/components/sessionstore/test/browser_async_flushes.js113
1 files changed, 0 insertions, 113 deletions
diff --git a/browser/components/sessionstore/test/browser_async_flushes.js b/browser/components/sessionstore/test/browser_async_flushes.js
deleted file mode 100644
index a4cbbfbc7..000000000
--- a/browser/components/sessionstore/test/browser_async_flushes.js
+++ /dev/null
@@ -1,113 +0,0 @@
-"use strict";
-
-const URL = "data:text/html;charset=utf-8,<a href=%23>clickme</a>";
-
-add_task(function* test_flush() {
- // Create new tab.
- let tab = gBrowser.addTab(URL);
- let browser = tab.linkedBrowser;
- yield promiseBrowserLoaded(browser);
-
- // Flush to empty any queued update messages.
- yield TabStateFlusher.flush(browser);
-
- // There should be one history entry.
- let {entries} = JSON.parse(ss.getTabState(tab));
- is(entries.length, 1, "there is a single history entry");
-
- // Click the link to navigate, this will add second shistory entry.
- yield ContentTask.spawn(browser, null, function* () {
- return new Promise(resolve => {
- addEventListener("hashchange", function onHashChange() {
- removeEventListener("hashchange", onHashChange);
- resolve();
- });
-
- // Click the link.
- content.document.querySelector("a").click();
- });
- });
-
- // Flush to empty any queued update messages.
- yield TabStateFlusher.flush(browser);
-
- // There should be two history entries now.
- ({entries} = JSON.parse(ss.getTabState(tab)));
- is(entries.length, 2, "there are two shistory entries");
-
- // Cleanup.
- gBrowser.removeTab(tab);
-});
-
-add_task(function* test_crash() {
- // Create new tab.
- let tab = gBrowser.addTab(URL);
- gBrowser.selectedTab = tab;
- let browser = tab.linkedBrowser;
- yield promiseBrowserLoaded(browser);
-
- // Flush to empty any queued update messages.
- yield TabStateFlusher.flush(browser);
-
- // There should be one history entry.
- let {entries} = JSON.parse(ss.getTabState(tab));
- is(entries.length, 1, "there is a single history entry");
-
- // Click the link to navigate.
- yield ContentTask.spawn(browser, null, function* () {
- return new Promise(resolve => {
- addEventListener("hashchange", function onHashChange() {
- removeEventListener("hashchange", onHashChange);
- resolve();
- });
-
- // Click the link.
- content.document.querySelector("a").click();
- });
- });
-
- // Crash the browser and flush. Both messages are async and will be sent to
- // the content process. The "crash" message makes it first so that we don't
- // get a chance to process the flush. The TabStateFlusher however should be
- // notified so that the flush still completes.
- let promise1 = BrowserTestUtils.crashBrowser(browser);
- let promise2 = TabStateFlusher.flush(browser);
- yield Promise.all([promise1, promise2]);
-
- // The pending update should be lost.
- ({entries} = JSON.parse(ss.getTabState(tab)));
- is(entries.length, 1, "still only one history entry");
-
- // Cleanup.
- gBrowser.removeTab(tab);
-});
-
-add_task(function* test_remove() {
- // Create new tab.
- let tab = gBrowser.addTab(URL);
- let browser = tab.linkedBrowser;
- yield promiseBrowserLoaded(browser);
-
- // Flush to empty any queued update messages.
- yield TabStateFlusher.flush(browser);
-
- // There should be one history entry.
- let {entries} = JSON.parse(ss.getTabState(tab));
- is(entries.length, 1, "there is a single history entry");
-
- // Click the link to navigate.
- yield ContentTask.spawn(browser, null, function* () {
- return new Promise(resolve => {
- addEventListener("hashchange", function onHashChange() {
- removeEventListener("hashchange", onHashChange);
- resolve();
- });
-
- // Click the link.
- content.document.querySelector("a").click();
- });
- });
-
- // Request a flush and remove the tab. The flush should still complete.
- yield Promise.all([TabStateFlusher.flush(browser), promiseRemoveTab(tab)]);
-})