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("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();
});
