summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/test/browser/browser_aboutCrashes.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/crashreporter/test/browser/browser_aboutCrashes.js')
-rw-r--r--toolkit/crashreporter/test/browser/browser_aboutCrashes.js27
1 files changed, 27 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 000000000..1293df030
--- /dev/null
+++ b/toolkit/crashreporter/test/browser/browser_aboutCrashes.js
@@ -0,0 +1,27 @@
+add_task(function* test() {
+ let appD = make_fake_appdir();
+ let crD = appD.clone();
+ crD.append("Crash Reports");
+ let crashes = add_fake_crashes(crD, 5);
+ // sanity check
+ let dirSvc = Components.classes["@mozilla.org/file/directory_service;1"]
+ .getService(Components.interfaces.nsIProperties);
+ let appDtest = dirSvc.get("UAppData", Components.interfaces.nsILocalFile);
+ ok(appD.equals(appDtest), "directory service provider registered ok");
+
+ yield BrowserTestUtils.withNewTab({ gBrowser, url: "about:crashes" }, function (browser) {
+ info("about:crashes loaded");
+ return ContentTask.spawn(browser, crashes, function (crashes) {
+ let doc = content.document;
+ let crashlinks = doc.getElementById("submitted").querySelectorAll(".crashReport");
+ Assert.equal(crashlinks.length, crashes.length,
+ "about:crashes lists correct number of crash reports");
+ for (let i = 0; i < crashes.length; i++) {
+ Assert.equal(crashlinks[i].firstChild.textContent, crashes[i].id,
+ i + ": crash ID is correct");
+ }
+ });
+ });
+
+ cleanup_fake_appdir();
+});