diff -r 000000000000 -r 6474c204b198 toolkit/crashreporter/test/browser/browser_aboutCrashes.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolkit/crashreporter/test/browser/browser_aboutCrashes.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,32 @@ +function check_crash_list(tab, crashes) { + let doc = gBrowser.getBrowserForTab(tab).contentDocument; + let crashlinks = doc.getElementById("tbody").getElementsByTagName("a"); + is(crashlinks.length, crashes.length, "about:crashes lists correct number of crash reports"); + for(let i = 0; i < crashes.length; i++) { + is(crashlinks[i].firstChild.textContent, crashes[i].id, i + ": crash ID is correct"); + } + cleanup_fake_appdir(); + gBrowser.removeTab(tab); + finish(); +} + +function test() { + waitForExplicitFinish(); + 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"); + let tab = gBrowser.selectedTab = gBrowser.addTab("about:blank"); + let browser = gBrowser.getBrowserForTab(tab); + browser.addEventListener("load", function() { + browser.removeEventListener("load", arguments.callee, true); + ok(true, "about:crashes loaded"); + executeSoon(function() { check_crash_list(tab, crashes); }); + }, true); + browser.loadURI("about:crashes", null, null); +}