mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
TestResults Tree | View diff action moved to platform
This commit is contained in:
@@ -786,6 +786,11 @@
|
||||
<reference ref="CompareClipboardWithSelection"/>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<action class="com.intellij.execution.testframework.actions.ViewAssertEqualsDiffAction" text="View assertEquals Difference" id="openAssertEqualsDiff"/>
|
||||
<separator/>
|
||||
<add-to-group anchor="first" group-id="TestTreePopupMenu"/>
|
||||
</group>
|
||||
<!-- SM Test Runner Actions -->
|
||||
<group id="SMTestRunnerTestsTree">
|
||||
<separator/>
|
||||
|
||||
@@ -400,6 +400,15 @@ public class SMTestProxy extends AbstractTestProxy {
|
||||
return TestsPresentationUtil.getPresentableName(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public AssertEqualsDiffViewerProvider getDiffViewerProvider() {
|
||||
if (myState instanceof AssertEqualsDiffViewerProvider) {
|
||||
return (AssertEqualsDiffViewerProvider)myState;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getPresentableName();
|
||||
|
||||
+16
-1
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.execution.testframework.sm.runner.states;
|
||||
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.execution.testframework.CompositePrintable;
|
||||
import com.intellij.execution.testframework.Printer;
|
||||
import com.intellij.execution.testframework.stacktrace.DiffHyperlink;
|
||||
@@ -27,7 +28,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* @author Roman.Chernyatchik
|
||||
*/
|
||||
public class TestComparisionFailedState extends TestFailedState {
|
||||
public class TestComparisionFailedState extends TestFailedState implements AbstractTestProxy.AssertEqualsDiffViewerProvider {
|
||||
private final String myErrorMsgPresentation;
|
||||
private final String myStacktracePresentation;
|
||||
private DiffHyperlink myHyperlink;
|
||||
@@ -67,4 +68,18 @@ public class TestComparisionFailedState extends TestFailedState {
|
||||
printer.print(CompositePrintable.NEW_LINE, ConsoleViewContentType.ERROR_OUTPUT);
|
||||
}
|
||||
}
|
||||
|
||||
public void openDiff(final Project project) {
|
||||
myHyperlink.openDiff(project);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getExpecteed() {
|
||||
return myHyperlink.getLeft();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getActual() {
|
||||
return myHyperlink.getRight();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,5 +124,14 @@ public abstract class AbstractTestProxy extends CompositePrintable {
|
||||
return myExceptionMark;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public AssertEqualsDiffViewerProvider getDiffViewerProvider() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public interface AssertEqualsDiffViewerProvider {
|
||||
void openDiff(final Project project);
|
||||
String getExpecteed();
|
||||
String getActual();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
package com.intellij.execution.testframework;
|
||||
|
||||
import com.intellij.execution.testframework.actions.ViewAssertEqualsDiffAction;
|
||||
import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.actionSystem.ActionPlaces;
|
||||
import com.intellij.openapi.actionSystem.DataProvider;
|
||||
@@ -92,5 +93,6 @@ public abstract class TestTreeView extends Tree implements DataProvider {
|
||||
});
|
||||
TreeUtil.installActions(this);
|
||||
PopupHandler.installPopupHandler(this, IdeActions.GROUP_TESTTREE_POPUP, ActionPlaces.TESTTREE_VIEW_POPUP);
|
||||
ViewAssertEqualsDiffAction.registerShortcut(this);
|
||||
}
|
||||
}
|
||||
+7
-9
@@ -14,11 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.intellij.execution.junit2.ui.actions;
|
||||
package com.intellij.execution.testframework.actions;
|
||||
|
||||
import com.intellij.execution.junit2.TestProxy;
|
||||
import com.intellij.execution.junit2.states.ComparisonFailureState;
|
||||
import com.intellij.execution.junit2.states.TestState;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -31,8 +28,10 @@ public class ViewAssertEqualsDiffAction extends AnAction {
|
||||
public void actionPerformed(final AnActionEvent e) {
|
||||
final AbstractTestProxy testProxy = AbstractTestProxy.DATA_KEY.getData(e.getDataContext());
|
||||
if (testProxy != null) {
|
||||
final ComparisonFailureState state = (ComparisonFailureState)((TestProxy)testProxy).getState();
|
||||
state.openDiff(PlatformDataKeys.PROJECT.getData(e.getDataContext()));
|
||||
final AbstractTestProxy.AssertEqualsDiffViewerProvider diffViewerProvider = testProxy.getDiffViewerProvider();
|
||||
if (diffViewerProvider != null) {
|
||||
diffViewerProvider.openDiff(PlatformDataKeys.PROJECT.getData(e.getDataContext()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,9 +44,8 @@ public class ViewAssertEqualsDiffAction extends AnAction {
|
||||
}
|
||||
else {
|
||||
final AbstractTestProxy test = AbstractTestProxy.DATA_KEY.getData(dataContext);
|
||||
if (test instanceof TestProxy) {
|
||||
final TestState state = ((TestProxy)test).getState();
|
||||
enabled = state instanceof ComparisonFailureState;
|
||||
if (test != null) {
|
||||
enabled = test.getDiffViewerProvider() != null;
|
||||
}
|
||||
else {
|
||||
enabled = false;
|
||||
@@ -39,10 +39,9 @@
|
||||
|
||||
<actions>
|
||||
<group>
|
||||
<action class="com.intellij.execution.junit2.ui.actions.ViewAssertEqualsDiffAction" text="View assertEquals Difference" id="openAssertEqualsDiff"/>
|
||||
<action class="com.intellij.execution.junit.ExcludeFromRunAction" text="Exclude from suite" id="excludeFromSuite"/>
|
||||
<separator/>
|
||||
<add-to-group anchor="first" group-id="TestTreePopupMenu"/>
|
||||
<add-to-group relative-to-action="openAssertEqualsDiff" anchor="after" group-id="TestTreePopupMenu"/>
|
||||
</group>
|
||||
<group>
|
||||
<separator/>
|
||||
|
||||
@@ -21,12 +21,14 @@ import com.intellij.execution.junit2.events.*;
|
||||
import com.intellij.execution.junit2.info.TestInfo;
|
||||
import com.intellij.execution.junit2.states.Statistics;
|
||||
import com.intellij.execution.junit2.states.TestState;
|
||||
import com.intellij.execution.testframework.*;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.execution.testframework.Filter;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.pom.Navigatable;
|
||||
import com.intellij.rt.execution.junit.states.PoolOfTestStates;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -268,4 +270,12 @@ public class TestProxy extends AbstractTestProxy {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public AssertEqualsDiffViewerProvider getDiffViewerProvider() {
|
||||
if (myState instanceof AssertEqualsDiffViewerProvider) {
|
||||
return (AssertEqualsDiffViewerProvider)myState;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,13 +17,14 @@
|
||||
package com.intellij.execution.junit2.states;
|
||||
|
||||
import com.intellij.execution.junit2.segments.ObjectReader;
|
||||
import com.intellij.execution.testframework.AbstractTestProxy;
|
||||
import com.intellij.execution.testframework.Printer;
|
||||
import com.intellij.execution.testframework.stacktrace.DiffHyperlink;
|
||||
import com.intellij.execution.ui.ConsoleViewContentType;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
|
||||
public class ComparisonFailureState extends FaultyState {
|
||||
public class ComparisonFailureState extends FaultyState implements AbstractTestProxy.AssertEqualsDiffViewerProvider {
|
||||
private DiffHyperlink myHyperlink;
|
||||
@NonNls
|
||||
protected static final String EXPECTED_VALUE_MESSAGE_TEXT = "expected:<";
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package com.intellij.execution.junit2.ui;
|
||||
|
||||
import com.intellij.execution.junit2.TestProxy;
|
||||
import com.intellij.execution.junit2.ui.actions.ViewAssertEqualsDiffAction;
|
||||
import com.intellij.execution.testframework.TestConsoleProperties;
|
||||
import com.intellij.execution.testframework.TestTreeView;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -42,9 +41,4 @@ public class JUnitTestTreeView extends TestTreeView {
|
||||
final boolean hasFocus) {
|
||||
return Formatters.printTest(TestProxyClient.from(value));
|
||||
}
|
||||
|
||||
protected void installHandlers() {
|
||||
super.installHandlers();
|
||||
ViewAssertEqualsDiffAction.registerShortcut(this);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user