82 lines
2.6 KiB
JavaScript
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();
|
|
});
|