mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-13 06:38:48 +02:00
There were options already being passed to BrowserTestUtils.removeTab, with only a single property being observed, "dontRemove". This caused BrowserTestUtils.removeTab to return a Promise once a tab is removed, but didn't actually remove the tab (as the calling test would be responsible for that themselves). This patch removes that option, and adds a method to BrowserTestUtils called tabRemoved to use for that case instead. The options being passed to removeTab are now forwarded along directly to tabbrowser's removeTab method. MozReview-Commit-ID: JzfZuoZmlJ0 --HG-- extra : rebase_source : 71afc1f82ecd979b101a9f1a1ef1766185eefd75
44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
"use strict";
|
|
|
|
const PAGE = "data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page.";
|
|
|
|
/**
|
|
* Monkey patches TabCrashHandler.getDumpID to return null in order to test
|
|
* about:tabcrashed when a dump is not available.
|
|
*/
|
|
add_task(function* setup() {
|
|
let originalGetDumpID = TabCrashHandler.getDumpID;
|
|
TabCrashHandler.getDumpID = function(browser) { return null; };
|
|
registerCleanupFunction(() => {
|
|
TabCrashHandler.getDumpID = originalGetDumpID;
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Tests tab crash page when a dump is not available.
|
|
*/
|
|
add_task(function* test_without_dump() {
|
|
return BrowserTestUtils.withNewTab({
|
|
gBrowser,
|
|
url: PAGE,
|
|
}, function*(browser) {
|
|
let tab = gBrowser.getTabForBrowser(browser);
|
|
yield BrowserTestUtils.crashBrowser(browser);
|
|
|
|
let tabRemovedPromise = BrowserTestUtils.tabRemoved(tab);
|
|
|
|
yield ContentTask.spawn(browser, null, function*() {
|
|
let doc = content.document;
|
|
Assert.ok(!doc.documentElement.classList.contains("crashDumpAvailable"),
|
|
"doesn't have crash dump");
|
|
|
|
let options = doc.getElementById("options");
|
|
Assert.ok(options, "has crash report options");
|
|
Assert.ok(options.hidden, "crash report options are hidden");
|
|
|
|
doc.getElementById("closeTab").click();
|
|
});
|
|
|
|
yield tabRemovedPromise;
|
|
});
|
|
});
|