track running test: cleanup user selection (allow to track further) when newly starte...
authorAnna Kozlova <anna.kozlova@jetbrains.com>
Mon, 22 Dec 2014 18:21:57 +0000 (19:21 +0100)
committerAnna Kozlova <anna.kozlova@jetbrains.com>
Mon, 22 Dec 2014 18:25:31 +0000 (19:25 +0100)
plugins/junit/src/com/intellij/execution/junit2/ui/actions/RunningTestTracker.java

index 5c4e5f6ce0cfa3d0b70cf22273246ba5f2263237..01c553f32d033f1f3797c2b5b8196125cb06a2fc 100644 (file)
@@ -60,13 +60,18 @@ class RunningTestTracker extends JUnitAdapter implements TestFrameworkPropertyLi
   public void onTestChanged(final TestEvent event) {
     if (event instanceof StateChangedEvent) {
       final TestProxy proxy = event.getSource();
-      if (proxy == myLastRan && !isRunningState(proxy)) {
-        if (myLastSelected == proxy){
+      final boolean isRunning = isRunningState(proxy);
+      if (isRunning) {
+        if (proxy.isLeaf()) {
+          myLastRan = proxy;
+        }
+        if (myLastSelected == proxy) {
           myLastSelected = null;
         }
+      }
+      else if (proxy == myLastRan) {
         myLastRan = null;
       }
-      if (proxy.isLeaf() && isRunningState(proxy)) myLastRan = proxy;
       myTrackingPolicy.applyTo(proxy);
     }
   }