1
0
Fork 0
firefox/toolkit/crashreporter/test/browser/browser_aboutCrashes.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

82 lines
2.6 KiB
JavaScript

add_task(async function test() {
const appD = make_fake_appdir();
const crD = appD.clone();
crD.append("Crash Reports");
const crashes = add_fake_crashes(crD, 5);
// sanity check
const appDtest = Services.dirsvc.get("UAppData", Ci.nsIFile);
ok(appD.equals(appDtest), "directory service provider registered ok");
await BrowserTestUtils.withNewTab(
{ gBrowser, url: "about:crashes" },
browser => {
info("about:crashes loaded");
return SpecialPowers.spawn(browser, [crashes], crashes => {
const doc = content.document;
const submitted = doc.getElementById("reportListSubmitted");
Assert.ok(
!submitted.classList.contains("hidden"),
"the submitted crash list is visible"
);
const unsubmitted = doc.getElementById("reportListUnsubmitted");
Assert.ok(
unsubmitted.classList.contains("hidden"),
"the unsubmitted crash list is hidden"
);
const crashIds = doc.getElementsByClassName("crash-id");
Assert.equal(
crashIds.length,
crashes.length,
"about:crashes lists correct number of crash reports"
);
for (let i = 0; i < crashes.length; i++) {
Assert.equal(
crashIds[i].textContent,
crashes[i].id,
i + ": crash ID is correct"
);
}
});
}
);
clear_fake_crashes(crD, crashes);
const pendingCrash = addPendingCrashreport(crD, Date.now(), { foo: "bar" });
await BrowserTestUtils.withNewTab(
{ gBrowser, url: "about:crashes" },
browser => {
info("about:crashes loaded");
return SpecialPowers.spawn(browser, [pendingCrash], pendingCrash => {
const doc = content.document;
const submitted = doc.getElementById("reportListSubmitted");
Assert.ok(
submitted.classList.contains("hidden"),
"the submitted crash list is hidden"
);
const unsubmitted = doc.getElementById("reportListUnsubmitted");
Assert.ok(
!unsubmitted.classList.contains("hidden"),
"the unsubmitted crash list is visible"
);
const crashIds = doc.getElementsByClassName("crash-id");
Assert.equal(
crashIds.length,
1,
"about:crashes lists correct number of crash reports"
);
const pendingRow = doc.getElementById(pendingCrash.id);
Assert.equal(
pendingRow.cells[0].textContent,
pendingCrash.id,
"about:crashes lists pending crash IDs correctly"
);
});
}
);
cleanup_fake_appdir();
});