From 30db1d1ec87c2fcad549ba53a18c37dc0d487632 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Thu, 8 Dec 2016 11:10:48 +0100 Subject: [PATCH] java tests: ensure for possibly long test messages details to be included in the visible part (IDEA-165187) --- .../junit/ComparisonFailureData.java | 25 ++++++++++--------- .../junit5/JUnit5TestExecutionListener.java | 4 +-- .../org/testng/IDEATestNGRemoteListener.java | 3 +-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/java/java-runtime/src/com/intellij/rt/execution/junit/ComparisonFailureData.java b/java/java-runtime/src/com/intellij/rt/execution/junit/ComparisonFailureData.java index 56c95a65bbdc..b6a70b6d39ae 100644 --- a/java/java-runtime/src/com/intellij/rt/execution/junit/ComparisonFailureData.java +++ b/java/java-runtime/src/com/intellij/rt/execution/junit/ComparisonFailureData.java @@ -87,6 +87,19 @@ public class ComparisonFailureData { attrs.put("details", failureIdx > -1 ? trace.substring(failureIdx + failureMessageLength) : trace); if (notification != null) { + final int expectedIdx = trace.indexOf("expected:<"); + final String comparisonFailureMessage; + if (expectedIdx > 0) { + comparisonFailureMessage = trace.substring(0, expectedIdx); + } + else if (failureIdx > -1) { + comparisonFailureMessage = trace.substring(0, failureIdx + failureMessageLength); + } + else { + comparisonFailureMessage = (failureMessageLength > 0 ? failureMessage + "\n" : "") + comparisonFailurePrefix; + } + attrs.put("message", comparisonFailureMessage); + final String filePath = notification.getFilePath(); if (filePath != null) { attrs.put("expectedFile", filePath); @@ -101,18 +114,6 @@ public class ComparisonFailureData { else { attrs.put("actual", notification.getActual()); } - final int expectedIdx = trace.indexOf("expected:<"); - final String comparisonFailureMessage; - if (expectedIdx > 0) { - comparisonFailureMessage = trace.substring(0, expectedIdx); - } - else if (failureIdx > -1) { - comparisonFailureMessage = trace.substring(0, failureIdx + failureMessageLength); - } - else { - comparisonFailureMessage = (failureMessageLength > 0 ? failureMessage + "\n" : "") + comparisonFailurePrefix; - } - attrs.put("message", comparisonFailureMessage); } else { Throwable throwableCause = null; diff --git a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java index b8b4aefdf5c5..2736185b4010 100644 --- a/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java +++ b/plugins/junit5_rt/src/com/intellij/junit5/JUnit5TestExecutionListener.java @@ -33,7 +33,7 @@ import org.opentest4j.ValueWrapper; import java.io.PrintStream; import java.io.PrintWriter; import java.io.StringWriter; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; @@ -206,7 +206,7 @@ public class JUnit5TestExecutionListener implements TestExecutionListener { long duration, String reason, boolean includeThrowable) { - final Map attrs = new HashMap<>(); + final Map attrs = new LinkedHashMap<>(); attrs.put("name", methodName); attrs.put("id", id); if (duration > 0) { diff --git a/plugins/testng_rt/src/org/testng/IDEATestNGRemoteListener.java b/plugins/testng_rt/src/org/testng/IDEATestNGRemoteListener.java index 54d1e164d84f..f693cc13ea8a 100644 --- a/plugins/testng_rt/src/org/testng/IDEATestNGRemoteListener.java +++ b/plugins/testng_rt/src/org/testng/IDEATestNGRemoteListener.java @@ -1,7 +1,6 @@ package org.testng; import com.intellij.rt.execution.junit.ComparisonFailureData; -import org.testng.internal.IResultListener; import org.testng.xml.XmlTest; import java.io.PrintStream; @@ -208,7 +207,7 @@ public class IDEATestNGRemoteListener { } Throwable ex = result.getThrowable(); String methodName = getTestMethodNameWithParams(result); - final Map attrs = new HashMap(); + final Map attrs = new LinkedHashMap(); attrs.put("name", methodName); final String failureMessage = ex.getMessage(); ComparisonFailureData notification;