From 33b5c28aff402112b15d63ddcec56cd80edd8c8a Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Thu, 28 Dec 2017 13:06:02 +0300 Subject: [PATCH] more stable replacement for waitForAlarm --- .../intellij/testFramework/PlatformTestUtil.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java index aba490efa046..64e5f34e3400 100644 --- a/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java +++ b/platform/testFramework/src/com/intellij/testFramework/PlatformTestUtil.java @@ -280,6 +280,20 @@ public class PlatformTestUtil { } } + @TestOnly + public static void waitFor(long duration, @NotNull TimeUnit unit) { + waitFor(unit.toMillis(duration)); + } + + @TestOnly + public static void waitFor(long millis) { + assert millis > 0 && EventQueue.isDispatchThread(); + long startTimeMillis = System.currentTimeMillis(); + while (millis > (System.currentTimeMillis() - startTimeMillis)) { + UIUtil.dispatchAllInvocationEvents(); + } + } + @TestOnly public static void waitForCallback(@NotNull ActionCallback callback) { AsyncPromise promise = new AsyncPromise<>();