michael@0: function check_crash_list(tab, crashes) { michael@0: let doc = gBrowser.getBrowserForTab(tab).contentDocument; michael@0: let crashlinks = doc.getElementById("tbody").getElementsByTagName("a"); michael@0: is(crashlinks.length, crashes.length, "about:crashes lists correct number of crash reports"); michael@0: for(let i = 0; i < crashes.length; i++) { michael@0: is(crashlinks[i].firstChild.textContent, crashes[i].id, i + ": crash ID is correct"); michael@0: } michael@0: cleanup_fake_appdir(); michael@0: gBrowser.removeTab(tab); michael@0: finish(); michael@0: } michael@0: michael@0: function test() { michael@0: waitForExplicitFinish(); michael@0: let appD = make_fake_appdir(); michael@0: let crD = appD.clone(); michael@0: crD.append("Crash Reports"); michael@0: let crashes = add_fake_crashes(crD, 5); michael@0: // sanity check michael@0: let dirSvc = Components.classes["@mozilla.org/file/directory_service;1"] michael@0: .getService(Components.interfaces.nsIProperties); michael@0: let appDtest = dirSvc.get("UAppData", Components.interfaces.nsILocalFile); michael@0: ok(appD.equals(appDtest), "directory service provider registered ok"); michael@0: let tab = gBrowser.selectedTab = gBrowser.addTab("about:blank"); michael@0: let browser = gBrowser.getBrowserForTab(tab); michael@0: browser.addEventListener("load", function() { michael@0: browser.removeEventListener("load", arguments.callee, true); michael@0: ok(true, "about:crashes loaded"); michael@0: executeSoon(function() { check_crash_list(tab, crashes); }); michael@0: }, true); michael@0: browser.loadURI("about:crashes", null, null); michael@0: }