Handle delays for all non-cancel buttons in waitForDialog() in tests

When the button delay is enabled, all buttons other than Cancel are
delayed.
This commit is contained in:
Dan Stillman 2015-06-10 00:32:42 -04:00
parent 2f7d2c09f0
commit 79f0e4761f

View file

@ -120,17 +120,17 @@ function waitForDialog(onOpen, button='accept') {
failure = e; failure = e;
} }
} }
if (button == 'accept') { if (button != 'cancel') {
let deferred = Zotero.Promise.defer(); let deferred = Zotero.Promise.defer();
function acceptWhenEnabled() { function acceptWhenEnabled() {
// Handle delayed accept buttons // Handle delayed buttons
if (dialog.document.documentElement.getButton('accept').disabled) { if (dialog.document.documentElement.getButton(button).disabled) {
setTimeout(function () { setTimeout(function () {
acceptWhenEnabled(); acceptWhenEnabled();
}, 250); }, 250);
} }
else { else {
dialog.document.documentElement.acceptDialog(); dialog.document.documentElement.getButton(button).click();
if (failure) { if (failure) {
deferred.reject(failure); deferred.reject(failure);
} }