summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/test/browser/browser_aboutCrashes.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /toolkit/crashreporter/test/browser/browser_aboutCrashes.js
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/crashreporter/test/browser/browser_aboutCrashes.js')
-rw-r--r--toolkit/crashreporter/test/browser/browser_aboutCrashes.js82
1 files changed, 82 insertions, 0 deletions
diff --git a/toolkit/crashreporter/test/browser/browser_aboutCrashes.js b/toolkit/crashreporter/test/browser/browser_aboutCrashes.js
new file mode 100644
index 0000000000..1885be4ca3
--- /dev/null
+++ b/toolkit/crashreporter/test/browser/browser_aboutCrashes.js
@@ -0,0 +1,82 @@
+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();
+});