From bc375c273e957f8f5b82f9482235bda556ec9b47 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Thu, 19 Apr 2012 11:56:10 +0400 Subject: [PATCH] be test friendly --- .../src/com/intellij/openapi/vcs/ZipperUpdater.java | 1 + .../openapi/vcs/changes/ui/CommitChangeListDialog.java | 9 +++++++-- .../openapi/vcs/impl/ProjectLevelVcsManagerImpl.java | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/ZipperUpdater.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/ZipperUpdater.java index 7a2283039639..0ab7a86c4e6f 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/ZipperUpdater.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/ZipperUpdater.java @@ -41,6 +41,7 @@ public class ZipperUpdater { public void queue(final Runnable runnable, final boolean urgent) { synchronized (myLock) { + if (myAlarm.isDisposed()) return; final boolean wasRaised = myRaised; myRaised = true; if (! wasRaised) { diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java index e0fce56a2897..70779b8b6882 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java @@ -155,7 +155,12 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj CommitChangeListDialog dialog = new CommitChangeListDialog(project, changes, initialSelection, executors, showVcsCommit, defaultList, changeLists, null, false, comment); - dialog.show(); + if (!ApplicationManager.getApplication().isUnitTestMode()) { + dialog.show(); + } + else { + dialog.doOKAction(); + } return dialog.isOK(); } @@ -193,7 +198,7 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj public static boolean commitChanges(final Project project, final Collection changes, final LocalChangeList initialSelection, final List executors, final boolean showVcsCommit, final String comment) { - if (changes.isEmpty()) { + if (changes.isEmpty() && !ApplicationManager.getApplication().isUnitTestMode()) { Messages.showInfoMessage(project, VcsBundle.message("commit.dialog.no.changes.detected.text") , VcsBundle.message("commit.dialog.no.changes.detected.title")); return false; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java index 6235e6de625d..ccfee33b4a11 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java @@ -581,8 +581,8 @@ public void addMessageToConsoleWindow(final String message, final TextAttributes } public void stopBackgroundVcsOperation() { - // in fact, the condition is "should not be called under ApplicationManager.invokeLater() and similiar" - assert ! ApplicationManager.getApplication().isDispatchThread(); + // in fact, the condition is "should not be called under ApplicationManager.invokeLater() and similar" + assert !ApplicationManager.getApplication().isDispatchThread() || ApplicationManager.getApplication().isUnitTestMode(); LOG.assertTrue(myBackgroundOperationCounter > 0, "myBackgroundOperationCounter > 0"); myBackgroundOperationCounter--; }