1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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();
});
|