import org.apache.commons.lang3.StringUtils; //导入方法依赖的package包/类
private void _throwAssertionFailure(String golden, String results, boolean forceGolden)
{
if (golden == null)
{
// Don't report "no golden file" as an error when
// forceGolden is on; but do report diffs as errors
if (!forceGolden)
{
throw new AssertionFailedError("No golden file for test " +
_scriptName);
}
} else
{
int index = StringUtils.indexOfDifference(golden, results);
String difference = StringUtils.difference(golden, results);
int diffLength = difference.length();
if (diffLength > 50)
difference = StringUtils.abbreviate(difference, 50);
/*
int resultsLength = results.length();
int goldenLength = golden.length();
if (resultsLength != goldenLength)
{
if (resultsLength < goldenLength)
{
throw new AssertionFailedError("golden file longer by:" + (goldenLength - resultsLength) + " char='" + ((int)golden.charAt(index)) + "'");
}
else
{
throw new AssertionFailedError("results file longer by:" + (resultsLength - goldenLength));
}
}
if (index >= resultsLength)
throw new AssertionFailedError("golden file longer by:" + (goldenLength - resultsLength));
if (results.length() < 50)
{
throw new AssertionFailedError(
"Golden file for test "+ _scriptName + " did not match; " +
"first difference at " + index + ", difference of length " +
diffLength + ", \"" + difference + "\"" + "\ngolden:\n" + golden + "\nnew:\n" + results + "\ndiffChars g='" + golden.charAt(index) + "' r='" + results.charAt(index) + "'");
}
*/
throw new AssertionFailedError(
"Golden file for test " + _scriptName + " did not match; " +
"first difference at " + index + ", difference of length " +
diffLength + ", \"" + difference + "\"");
}
}