allow to view images diff by clicking on hyperlink in test execution console output

This commit is contained in:
Dmitry Batrak
2015-08-12 12:22:01 +03:00
parent 30bd9e5659
commit 528108ddd4
11 changed files with 162 additions and 42 deletions
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2013 JetBrains s.r.o.
* Copyright 2000-2015 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.
@@ -28,6 +28,7 @@ public class ComparisonFailureData {
private final String myExpected;
private final String myActual;
private final String myFilePath;
private final String myActualFilePath;
private static Map EXPECTED = new HashMap();
private static Map ACTUAL = new HashMap();
@@ -56,9 +57,14 @@ public class ComparisonFailureData {
}
public ComparisonFailureData(String expected, String actual, String filePath) {
this(expected, actual, filePath, null);
}
public ComparisonFailureData(String expected, String actual, String filePath, String actualFilePath) {
myExpected = expected;
myActual = actual;
myFilePath = filePath;
myActualFilePath = actualFilePath;
}
public static void registerSMAttributes(ComparisonFailureData notification,
@@ -79,6 +85,10 @@ public class ComparisonFailureData {
if (filePath != null) {
attrs.put("expectedFile", filePath);
}
final String actualFilePath = notification.getActualFilePath();
if (actualFilePath != null) {
attrs.put("actualFile", actualFilePath);
}
final int expectedIdx = trace.indexOf("expected");
final String comparisonFailureMessage;
if (expectedIdx > 0) {
@@ -114,6 +124,10 @@ public class ComparisonFailureData {
return myFilePath;
}
public String getActualFilePath() {
return myActualFilePath;
}
public String getExpected() {
return myExpected;
}
@@ -125,7 +139,8 @@ public class ComparisonFailureData {
public static ComparisonFailureData create(Throwable assertion) {
if (assertion instanceof FileComparisonFailure) {
final FileComparisonFailure comparisonFailure = (FileComparisonFailure)assertion;
return new ComparisonFailureData(comparisonFailure.getExpected(), comparisonFailure.getActual(), comparisonFailure.getFilePath());
return new ComparisonFailureData(comparisonFailure.getExpected(), comparisonFailure.getActual(),
comparisonFailure.getFilePath(), comparisonFailure.getActualFilePath());
}
try {
return new ComparisonFailureData(getExpected(assertion), getActual(assertion));
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2009 JetBrains s.r.o.
* Copyright 2000-2015 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.
@@ -23,18 +23,28 @@ public class FileComparisonFailure extends ComparisonFailure implements KnownExc
private final String myExpected;
private final String myActual;
private final String myFilePath;
private final String myActualFilePath;
public FileComparisonFailure(String message, String expected, String actual, String filePath) {
this(message, expected, actual, filePath, null);
}
public FileComparisonFailure(String message, String expected, String actual, String expectedFilePath, String actualFilePath) {
super(message, expected, actual);
myExpected = expected;
myActual = actual;
myFilePath = filePath;
myFilePath = expectedFilePath;
myActualFilePath = actualFilePath;
}
public String getFilePath() {
return myFilePath;
}
public String getActualFilePath() {
return myActualFilePath;
}
public String getExpected() {
return myExpected;
}