|
1 function check_crash_list(tab, crashes) { |
|
2 let doc = gBrowser.getBrowserForTab(tab).contentDocument; |
|
3 let crashlinks = doc.getElementById("tbody").getElementsByTagName("a"); |
|
4 is(crashlinks.length, crashes.length, "about:crashes lists correct number of crash reports"); |
|
5 for(let i = 0; i < crashes.length; i++) { |
|
6 is(crashlinks[i].firstChild.textContent, crashes[i].id, i + ": crash ID is correct"); |
|
7 } |
|
8 cleanup_fake_appdir(); |
|
9 gBrowser.removeTab(tab); |
|
10 finish(); |
|
11 } |
|
12 |
|
13 function test() { |
|
14 waitForExplicitFinish(); |
|
15 let appD = make_fake_appdir(); |
|
16 let crD = appD.clone(); |
|
17 crD.append("Crash Reports"); |
|
18 let crashes = add_fake_crashes(crD, 5); |
|
19 // sanity check |
|
20 let dirSvc = Components.classes["@mozilla.org/file/directory_service;1"] |
|
21 .getService(Components.interfaces.nsIProperties); |
|
22 let appDtest = dirSvc.get("UAppData", Components.interfaces.nsILocalFile); |
|
23 ok(appD.equals(appDtest), "directory service provider registered ok"); |
|
24 let tab = gBrowser.selectedTab = gBrowser.addTab("about:blank"); |
|
25 let browser = gBrowser.getBrowserForTab(tab); |
|
26 browser.addEventListener("load", function() { |
|
27 browser.removeEventListener("load", arguments.callee, true); |
|
28 ok(true, "about:crashes loaded"); |
|
29 executeSoon(function() { check_crash_list(tab, crashes); }); |
|
30 }, true); |
|
31 browser.loadURI("about:crashes", null, null); |
|
32 } |