summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/test/browser/browser_bug471404.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/crashreporter/test/browser/browser_bug471404.js')
-rw-r--r--toolkit/crashreporter/test/browser/browser_bug471404.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/toolkit/crashreporter/test/browser/browser_bug471404.js b/toolkit/crashreporter/test/browser/browser_bug471404.js
new file mode 100644
index 000000000..f0eb00b71
--- /dev/null
+++ b/toolkit/crashreporter/test/browser/browser_bug471404.js
@@ -0,0 +1,41 @@
+function check_clear_visible(browser, aVisible) {
+ return ContentTask.spawn(browser, aVisible, function (aVisible) {
+ let doc = content.document;
+ let visible = false;
+ let button = doc.getElementById("clear-reports");
+ if (button) {
+ let style = doc.defaultView.getComputedStyle(button, "");
+ if (style.display != "none" &&
+ style.visibility == "visible")
+ visible = true;
+ }
+ Assert.equal(visible, aVisible,
+ "clear reports button is " + (aVisible ? "visible" : "hidden"));
+ });
+}
+
+// each test here has a setup (run before loading about:crashes) and onload (run after about:crashes loads)
+var _tests = [{setup: null, onload: function(browser) { return check_clear_visible(browser, false); }},
+ {setup: function(crD) { return add_fake_crashes(crD, 1); },
+ onload: function(browser) { return check_clear_visible(browser, true); }}
+ ];
+
+add_task(function* test() {
+ let appD = make_fake_appdir();
+ let crD = appD.clone();
+ crD.append("Crash Reports");
+
+ yield BrowserTestUtils.withNewTab({ gBrowser, url: "about:blank" }, function* (browser) {
+ for (let test of _tests) {
+ // Run setup before loading about:crashes.
+ if (test.setup) {
+ yield test.setup(crD);
+ }
+
+ BrowserTestUtils.loadURI(browser, "about:crashes");
+ yield BrowserTestUtils.browserLoaded(browser).then(() => test.onload(browser));
+ }
+ });
+
+ cleanup_fake_appdir();
+});