in testsuite/jflex-testsuite-maven-plugin/src/main/java/jflex/maven/plugin/testsuite/DiffStream.java [48:87]
public String diff(List<Integer> diffLines, Reader input, Reader expected) {
if (diffLines == null) diffLines = new ArrayList<>();
linesProcessed = 1;
BufferedReader myInput = new BufferedReader(input);
String readFromInput;
BufferedReader myExpected = new BufferedReader(expected);
String readFromExpected;
try {
do {
readFromInput = myInput.readLine();
readFromExpected = myExpected.readLine();
// EOF reached in one Reader ?? -> Error
if ((readFromInput == null) && (readFromExpected != null)) {
return "EOF reached in Expected(Line:"
+ linesProcessed
+ ")... got more Lines to compare.\n";
}
if ((readFromInput != null) && (readFromExpected == null)) {
return "EOF reached in Input(Line:" + linesProcessed + ")... more Lines expected.\n";
}
if (readFromInput != null && !match(readFromInput, readFromExpected)) {
if (!diffLines.contains(Integer.valueOf(linesProcessed)))
return "Difference in line "
+ linesProcessed
+ "\n"
+ "expected :["
+ readFromExpected
+ "]\n"
+ "but got :["
+ readFromInput
+ "]";
}
linesProcessed++;
} while ((readFromInput != null) && (readFromExpected != null));
} catch (IOException e) {
return "Error processing Files...compare aborted.\n";
}
return null;
}