From eb46a9c5a23f70aaab06b1e1bd65ffc755dfc589 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 6 Nov 2015 13:11:11 +0100 Subject: [PATCH] sm runner: scroll to source on manual selection only (IDEA-147403) --- .../runner/ui/SMTRunnerUIActionsHandler.java | 26 ++----------------- .../sm/runner/ui/SMTestRunnerResultsForm.java | 12 +++++++++ 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerUIActionsHandler.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerUIActionsHandler.java index 62ba4445b46a..9b79b8f5652b 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerUIActionsHandler.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTRunnerUIActionsHandler.java @@ -15,16 +15,10 @@ */ package com.intellij.execution.testframework.sm.runner.ui; -import com.intellij.execution.testframework.*; -import com.intellij.execution.testframework.actions.ScrollToTestSourceAction; -import com.intellij.execution.testframework.sm.SMRunnerUtil; +import com.intellij.execution.testframework.AbstractTestProxy; +import com.intellij.execution.testframework.TestConsoleProperties; import com.intellij.execution.testframework.sm.runner.ProxyFilters; import com.intellij.execution.testframework.sm.runner.SMTestProxy; -import com.intellij.openapi.application.ModalityState; -import com.intellij.pom.Navigatable; -import com.intellij.util.OpenSourceUtil; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -67,20 +61,4 @@ public class SMTRunnerUIActionsHandler extends TestResultsViewer.SMEventsAdapter } } } - - public void onSelected(@Nullable final SMTestProxy selectedTestProxy, - @NotNull final TestResultsViewer viewer, - @NotNull final TestFrameworkRunningModel model) { - //TODO: tests o "onSelected" - SMRunnerUtil.runInEventDispatchThread(new Runnable() { - public void run() { - if (ScrollToTestSourceAction.isScrollEnabled(model)) { - final Navigatable descriptor = TestsUIUtil.getOpenFileDescriptor(selectedTestProxy, model); - if (descriptor != null) { - OpenSourceUtil.navigate(false, descriptor); - } - } - } - }, ModalityState.NON_MODAL); - } } diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTestRunnerResultsForm.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTestRunnerResultsForm.java index 4da5f6c16744..fe2f478346ca 100644 --- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTestRunnerResultsForm.java +++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/SMTestRunnerResultsForm.java @@ -20,6 +20,7 @@ import com.intellij.execution.TestStateStorage; import com.intellij.execution.configurations.RunConfiguration; import com.intellij.execution.configurations.RunProfile; import com.intellij.execution.testframework.*; +import com.intellij.execution.testframework.actions.ScrollToTestSourceAction; import com.intellij.execution.testframework.export.TestResultsXmlFormatter; import com.intellij.execution.testframework.sm.SMRunnerUtil; import com.intellij.execution.testframework.sm.TestHistoryConfiguration; @@ -47,8 +48,10 @@ import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.wm.IdeFocusManager; +import com.intellij.pom.Navigatable; import com.intellij.ui.JBColor; import com.intellij.util.Alarm; +import com.intellij.util.OpenSourceUtil; import com.intellij.util.PathUtil; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.text.DateFormatUtil; @@ -197,6 +200,7 @@ public class SMTestRunnerResultsForm extends TestResultsPanel @Override public void pass(AbstractTestProxy testProxy) { if (testProxy == null) return; + final AbstractTestProxy selectedProxy = testProxy; //drill to the first leaf while (!testProxy.isLeaf()) { final List children = testProxy.getChildren(); @@ -213,6 +217,14 @@ public class SMTestRunnerResultsForm extends TestResultsPanel //pretend the selection on the first leaf //so if test would be run, tracking would be restarted myLastSelected = testProxy; + + //ensure scroll to source on explicit selection only + if (ScrollToTestSourceAction.isScrollEnabled(SMTestRunnerResultsForm.this)) { + final Navigatable descriptor = TestsUIUtil.getOpenFileDescriptor(selectedProxy, SMTestRunnerResultsForm.this); + if (descriptor != null) { + OpenSourceUtil.navigate(false, descriptor); + } + } } });