[JPS|Junit] cleanup: moved test comparison failure detector from the ExpectedPatterns to the ComparisonFailureData

GitOrigin-RevId: e2f4df6c10dfa962339b06382b4d5af210b5132d
This commit is contained in:
Sergei Vorobyov
2024-04-16 12:23:54 +02:00
committed by intellij-monorepo-bot
parent 241d51b264
commit ff7ac99e21
2 changed files with 22 additions and 22 deletions

View File

@@ -9,13 +9,14 @@ import java.lang.reflect.Method;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ComparisonFailureData {
public static final String JUNIT_3_COMPARISON_FAILURE = "junit.framework.ComparisonFailure";
public static final String JUNIT_4_COMPARISON_FAILURE = "org.junit.ComparisonFailure";
private static final String ASSERTION_CLASS_NAME = "java.lang.AssertionError";
private static final String ASSERTION_FAILED_CLASS_NAME = "junit.framework.AssertionFailedError";
@@ -24,8 +25,6 @@ public class ComparisonFailureData {
public static final String OPENTEST4J_FILE_INFO = "org.opentest4j.FileInfo";
public static final Charset OPENTEST4J_FILE_CONTENT_CHARSET = StandardCharsets.UTF_8;
private static final List<String> COMPARISON_FAILURES = Arrays.asList("org.junit.ComparisonFailure", "org.junit.ComparisonFailure");
private final String myExpected;
private final String myActual;
private final String myExpectedFilePath;
@@ -36,7 +35,8 @@ public class ComparisonFailureData {
static {
try {
for (String failure : COMPARISON_FAILURES) init(failure);
init(JUNIT_3_COMPARISON_FAILURE);
init(JUNIT_4_COMPARISON_FAILURE);
}
catch (Throwable ignored) { }
}
@@ -172,7 +172,7 @@ public class ComparisonFailureData {
attrs.put(expectedOrActualPrefix, text);
}
public static boolean isAssertionError(Class throwableClass) {
public static boolean isAssertionError(Class<?> throwableClass) {
if (throwableClass == null) return false;
final String throwableClassName = throwableClass.getName();
if (throwableClassName.equals(ASSERTION_CLASS_NAME) ||
@@ -183,6 +183,21 @@ public class ComparisonFailureData {
return isAssertionError(throwableClass.getSuperclass());
}
public static boolean isComparisonFailure(Class<?> aClass) {
if (aClass == null) return false;
final String throwableClassName = aClass.getName();
if (JUNIT_3_COMPARISON_FAILURE.equals(throwableClassName)) {
return true;
}
if (JUNIT_4_COMPARISON_FAILURE.equals(throwableClassName)) {
return true;
}
if (OPENTEST4J_ASSERTION.equals(throwableClassName)) {
return true;
}
return isComparisonFailure(aClass.getSuperclass());
}
public String getExpectedFilePath() {
return myExpectedFilePath;
}