diff --git a/plugins/testng/src/com/theoryinpractice/testng/model/TestProxy.java b/plugins/testng/src/com/theoryinpractice/testng/model/TestProxy.java index f80146758d7a..c7426e894bfd 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/model/TestProxy.java +++ b/plugins/testng/src/com/theoryinpractice/testng/model/TestProxy.java @@ -20,6 +20,7 @@ import com.intellij.execution.PsiLocation; import com.intellij.execution.stacktrace.StackTraceLine; import com.intellij.execution.testframework.AbstractTestProxy; import com.intellij.execution.testframework.Filter; +import com.intellij.execution.testframework.Printable; import com.intellij.execution.ui.ConsoleViewContentType; import com.intellij.ide.util.EditSourceUtil; import com.intellij.openapi.application.ApplicationManager; @@ -28,7 +29,6 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Comparing; import com.intellij.pom.Navigatable; import com.intellij.psi.*; -import com.theoryinpractice.testng.ui.Printable; import com.theoryinpractice.testng.ui.TestNGConsoleView; import org.jetbrains.annotations.Nullable; import org.testng.remote.strprotocol.MessageHelper; diff --git a/plugins/testng/src/com/theoryinpractice/testng/ui/Printable.java b/plugins/testng/src/com/theoryinpractice/testng/ui/Printable.java deleted file mode 100644 index c0ed272064a3..000000000000 --- a/plugins/testng/src/com/theoryinpractice/testng/ui/Printable.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2000-2009 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.theoryinpractice.testng.ui; - -import com.intellij.execution.ui.ConsoleView; - -/** - * @author Hani Suleiman Date: Dec 1, 2006 Time: 12:57:22 PM - */ -public interface Printable -{ - void print(ConsoleView console); -} diff --git a/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGConsoleView.java b/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGConsoleView.java index 610312abd838..884558ac077e 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGConsoleView.java +++ b/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGConsoleView.java @@ -24,7 +24,10 @@ package com.theoryinpractice.testng.ui; import com.intellij.execution.configurations.ConfigurationPerRunnerSettings; import com.intellij.execution.configurations.RunnerSettings; +import com.intellij.execution.filters.HyperlinkInfo; import com.intellij.execution.process.ProcessHandler; +import com.intellij.execution.testframework.*; +import com.intellij.execution.testframework.Printable; import com.intellij.execution.testframework.ui.BaseTestsOutputConsoleView; import com.intellij.execution.testframework.ui.TestResultsPanel; import com.intellij.execution.ui.ConsoleView; @@ -98,7 +101,7 @@ public class TestNGConsoleView extends BaseTestsOutputConsoleView { String trimmed = trimStackTrace(stackTrace); List printables = getPrintables(result, trimmed); for (Printable printable : printables) { - printable.print(getConsole()); //enable for root element + printable.printOn(wrapConsoleView(getConsole())); //enable for root element } synchronized (currentTestOutput) { exceptionMark = currentTestOutput.size(); @@ -231,25 +234,43 @@ public class TestNGConsoleView extends BaseTestsOutputConsoleView { }); } else { - getConsole().clear(); + final ConsoleView consoleView = getConsole(); + consoleView.clear(); int idx = 0; int offset = 0; for (Printable chunk : new ArrayList(output)) { - chunk.print(getConsole()); + chunk.printOn(wrapConsoleView(consoleView)); if (idx++ < i) { - offset = getConsole().getContentSize(); + offset = consoleView.getContentSize(); } } - getConsole().scrollTo(offset); + consoleView.scrollTo(offset); } } + private static Printer wrapConsoleView(final ConsoleView consoleView) { + return new Printer() { + public void print(String text, ConsoleViewContentType contentType) { + consoleView.print(text, contentType); + } + + public void onNewAvailable(Printable printable) {} + + public void printHyperlink(String text, HyperlinkInfo info) { + consoleView.printHyperlink(text, info); + } + + public void mark() { + } + }; + } + public static class Chunk implements Printable { public String text; public ConsoleViewContentType contentType; - public void print(ConsoleView console) { - console.print(text, contentType); + public void printOn(Printer printer) { + printer.print(text, contentType); } public Chunk(String text, ConsoleViewContentType contentType) { diff --git a/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGDiffHyperLink.java b/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGDiffHyperLink.java index 64d062485654..1f162a076ac4 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGDiffHyperLink.java +++ b/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGDiffHyperLink.java @@ -15,34 +15,16 @@ */ package com.theoryinpractice.testng.ui; -import com.intellij.execution.filters.HyperlinkInfo; -import com.intellij.execution.testframework.Printer; import com.intellij.execution.testframework.stacktrace.DiffHyperlink; -import com.intellij.execution.ui.ConsoleView; -import com.intellij.execution.ui.ConsoleViewContentType; import com.theoryinpractice.testng.model.TestNGConsoleProperties; /** * @author Hani Suleiman Date: Dec 1, 2006 Time: 12:14:04 PM */ -public class TestNGDiffHyperLink extends DiffHyperlink implements Printable { +public class TestNGDiffHyperLink extends DiffHyperlink { public TestNGDiffHyperLink(final String expected, final String actual, final String filePath, final TestNGConsoleProperties consoleProperties) { super(expected, actual, filePath); } - public void print(final ConsoleView printer) { - printOn(new Printer() { - public void print(final String text, final ConsoleViewContentType contentType) { - printer.print(text, contentType); - } - - public void printHyperlink(final String text, final HyperlinkInfo info) { - printer.printHyperlink(text, info); - } - - public void onNewAvailable(final com.intellij.execution.testframework.Printable printable) {} - public void mark() {} - }); - } } \ No newline at end of file