summaryrefslogtreecommitdiff
path: root/platform/smRunner/src/com/intellij/execution/testframework
diff options
context:
space:
mode:
Diffstat (limited to 'platform/smRunner/src/com/intellij/execution/testframework')
-rw-r--r--platform/smRunner/src/com/intellij/execution/testframework/sm/runner/SMTRunnerTreeStructure.java14
-rw-r--r--platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestComparisionFailedState.java21
-rw-r--r--platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestFailedState.java4
-rw-r--r--platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtil.java19
4 files changed, 37 insertions, 21 deletions
diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/SMTRunnerTreeStructure.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/SMTRunnerTreeStructure.java
index b740bb6a0ccc..7d15140c8de5 100644
--- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/SMTRunnerTreeStructure.java
+++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/SMTRunnerTreeStructure.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -43,6 +43,11 @@ public class SMTRunnerTreeStructure extends AbstractTreeStructure
public void commit() {
}
+ @Override
+ public boolean hasSomethingToCommit() {
+ return false;
+ }
+
@NotNull
@Override
public SMTRunnerNodeDescriptor createDescriptor(final Object element,
@@ -70,17 +75,12 @@ public class SMTRunnerTreeStructure extends AbstractTreeStructure
return ((AbstractTestProxy)element).getParent();
}
+
@Override
public Object getRootElement() {
return myRootNode;
}
-
- @Override
- public boolean hasSomethingToCommit() {
- return false;
- }
-
public void setFilter(final Filter nodesFilter) {
myTestNodesFilter = nodesFilter;
}
diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestComparisionFailedState.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestComparisionFailedState.java
index 84b28a79c5e8..2d500115c038 100644
--- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestComparisionFailedState.java
+++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestComparisionFailedState.java
@@ -15,9 +15,11 @@
*/
package com.intellij.execution.testframework.sm.runner.states;
+import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.execution.testframework.AbstractTestProxy;
import com.intellij.execution.testframework.CompositePrintable;
import com.intellij.execution.testframework.Printer;
+import com.intellij.execution.testframework.sm.runner.ui.TestsPresentationUtil;
import com.intellij.execution.testframework.stacktrace.DiffHyperlink;
import com.intellij.execution.ui.ConsoleViewContentType;
import com.intellij.openapi.project.Project;
@@ -41,10 +43,8 @@ public class TestComparisionFailedState extends TestFailedState implements Abstr
super(localizedMessage, stackTrace);
myHyperlink = new DiffHyperlink(expectedText, actualText, null);
- myErrorMsgPresentation = StringUtil.isEmptyOrSpaces(localizedMessage) ? ""
- : localizedMessage;
- myStacktracePresentation = StringUtil.isEmptyOrSpaces(stackTrace) ? ""
- : stackTrace;
+ myErrorMsgPresentation = StringUtil.isEmptyOrSpaces(localizedMessage) ? "" : localizedMessage;
+ myStacktracePresentation = StringUtil.isEmptyOrSpaces(stackTrace) ? "" : stackTrace;
}
@Override
@@ -53,20 +53,15 @@ public class TestComparisionFailedState extends TestFailedState implements Abstr
printer.mark();
// Error msg
- if (myErrorMsgPresentation != null) {
- printer.print(myErrorMsgPresentation, ConsoleViewContentType.ERROR_OUTPUT);
- }
+ TestsPresentationUtil.printWithAnsiColoring(printer, myErrorMsgPresentation, ProcessOutputTypes.STDERR);
// Diff link
myHyperlink.printOn(printer);
// Stacktrace
- if (myStacktracePresentation != null) {
- printer.print(CompositePrintable.NEW_LINE, ConsoleViewContentType.ERROR_OUTPUT);
-
- printer.print(myStacktracePresentation, ConsoleViewContentType.ERROR_OUTPUT);
- printer.print(CompositePrintable.NEW_LINE, ConsoleViewContentType.ERROR_OUTPUT);
- }
+ printer.print(CompositePrintable.NEW_LINE, ConsoleViewContentType.ERROR_OUTPUT);
+ TestsPresentationUtil.printWithAnsiColoring(printer, myStacktracePresentation, ProcessOutputTypes.STDERR);
+ printer.print(CompositePrintable.NEW_LINE, ConsoleViewContentType.ERROR_OUTPUT);
}
public void openDiff(final Project project) {
diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestFailedState.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestFailedState.java
index 8906bd1867a9..712f6fc35dbf 100644
--- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestFailedState.java
+++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/states/TestFailedState.java
@@ -15,8 +15,10 @@
*/
package com.intellij.execution.testframework.sm.runner.states;
+import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.execution.testframework.CompositePrintable;
import com.intellij.execution.testframework.Printer;
+import com.intellij.execution.testframework.sm.runner.ui.TestsPresentationUtil;
import com.intellij.execution.ui.ConsoleViewContentType;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.containers.ContainerUtilRt;
@@ -75,7 +77,7 @@ public class TestFailedState extends AbstractState {
printer.mark();
addMark = false;
}
- printer.print(errorText, ConsoleViewContentType.ERROR_OUTPUT);
+ TestsPresentationUtil.printWithAnsiColoring(printer, errorText, ProcessOutputTypes.STDERR);
}
}
}
diff --git a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtil.java b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtil.java
index 7cb42773f735..d36250191b09 100644
--- a/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtil.java
+++ b/platform/smRunner/src/com/intellij/execution/testframework/sm/runner/ui/TestsPresentationUtil.java
@@ -15,14 +15,19 @@
*/
package com.intellij.execution.testframework.sm.runner.ui;
+import com.intellij.execution.process.AnsiEscapeDecoder;
+import com.intellij.execution.process.ProcessOutputTypes;
import com.intellij.execution.testframework.PoolOfTestIcons;
+import com.intellij.execution.testframework.Printer;
import com.intellij.execution.testframework.TestConsoleProperties;
import com.intellij.execution.testframework.TestsUIUtil;
import com.intellij.execution.testframework.sm.SMTestsRunnerBundle;
import com.intellij.execution.testframework.sm.runner.SMTestProxy;
import com.intellij.execution.testframework.sm.runner.states.TestStateInfo;
import com.intellij.execution.testframework.ui.TestsProgressAnimator;
+import com.intellij.execution.ui.ConsoleViewContentType;
import com.intellij.icons.AllIcons;
+import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.ui.ColoredTableCellRenderer;
import com.intellij.ui.SimpleTextAttributes;
@@ -448,4 +453,18 @@ public class TestsPresentationUtil {
break;
}
}
+
+ public static void printWithAnsiColoring(@NotNull final Printer printer, @NotNull String text, @NotNull final Key processOutputType) {
+ AnsiEscapeDecoder decoder = new AnsiEscapeDecoder();
+ decoder.escapeText(text, ProcessOutputTypes.STDOUT, new AnsiEscapeDecoder.ColoredTextAcceptor() {
+ @Override
+ public void coloredTextAvailable(String text, Key attributes) {
+ ConsoleViewContentType contentType = ConsoleViewContentType.getConsoleViewType(attributes);
+ if (contentType == null || contentType == ConsoleViewContentType.NORMAL_OUTPUT) {
+ contentType = ConsoleViewContentType.getConsoleViewType(processOutputType);
+ }
+ printer.print(text, contentType);
+ }
+ });
+ }
}