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;
}
}
if (button == 'accept') {
if (button != 'cancel') {
let deferred = Zotero.Promise.defer();
function acceptWhenEnabled() {
// Handle delayed accept buttons
if (dialog.document.documentElement.getButton('accept').disabled) {
// Handle delayed buttons
if (dialog.document.documentElement.getButton(button).disabled) {
setTimeout(function () {
acceptWhenEnabled();
}, 250);
}
else {
dialog.document.documentElement.acceptDialog();
dialog.document.documentElement.getButton(button).click();
if (failure) {
deferred.reject(failure);
}