summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/tabcrashed/browser_withoutDump.js
blob: 62557f443adae5a57eb55b9b77c0b0568c0a35f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"use strict";

const PAGE = "data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page.";

add_task(function* setup() {
  prepareNoDump();
});

/**
 * 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.removeTab(tab, { dontRemove: true });

    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;
  });
});