зеркало из https://github.com/mozilla/pjs.git
69 строки
2.2 KiB
JavaScript
69 строки
2.2 KiB
JavaScript
// load our utility script
|
|
var scriptLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
|
|
.getService(Components.interfaces.mozIJSSubScriptLoader);
|
|
scriptLoader.loadSubScript("chrome://mochikit/content/browser/toolkit/crashreporter/test/browser/aboutcrashes_utils.js", this);
|
|
|
|
function check_clear_visible(tab, aVisible) {
|
|
let doc = gBrowser.getBrowserForTab(tab).contentDocument;
|
|
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;
|
|
}
|
|
is(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)
|
|
let _tests = [{setup: null, onload: function(tab) { check_clear_visible(tab, false); }},
|
|
{setup: function(crD) { add_fake_crashes(crD, 1); },
|
|
onload: function(tab) { check_clear_visible(tab, true); }}
|
|
];
|
|
let _current_test = 0;
|
|
|
|
function run_test_setup(crD) {
|
|
if (_tests[_current_test].setup) {
|
|
_tests[_current_test].setup(crD);
|
|
}
|
|
}
|
|
|
|
function run_test_onload(tab) {
|
|
if (_tests[_current_test].onload) {
|
|
_tests[_current_test].onload(tab);
|
|
}
|
|
_current_test++;
|
|
|
|
if (_current_test == _tests.length) {
|
|
cleanup_fake_appdir();
|
|
gBrowser.removeTab(tab);
|
|
finish();
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
let appD = make_fake_appdir();
|
|
let crD = appD.clone();
|
|
crD.append("Crash Reports");
|
|
|
|
let tab = gBrowser.selectedTab = gBrowser.addTab("about:blank");
|
|
let browser = gBrowser.getBrowserForTab(tab);
|
|
browser.addEventListener("load", function() {
|
|
executeSoon(function() {
|
|
if (run_test_onload(tab)) {
|
|
// prep and run the next test
|
|
run_test_setup(crD);
|
|
executeSoon(function() { browser.loadURI("about:crashes", null, null); });
|
|
}
|
|
});
|
|
}, true);
|
|
// kick things off
|
|
run_test_setup(crD);
|
|
browser.loadURI("about:crashes", null, null);
|
|
}
|