diff --git a/src/main/java/com/github/difflib/text/DiffRowGenerator.java b/src/main/java/com/github/difflib/text/DiffRowGenerator.java index 90babc71..4f963cd7 100644 --- a/src/main/java/com/github/difflib/text/DiffRowGenerator.java +++ b/src/main/java/com/github/difflib/text/DiffRowGenerator.java @@ -267,9 +267,11 @@ private DiffRow buildDiffRowWithoutNormalizing(Tag type, String orgline, String } List normalizeLines(List list) { - return list.stream() - .map(lineNormalizer::apply) - .collect(toList()); + return reportLinesUnchanged + ? list + : list.stream() + .map(lineNormalizer::apply) + .collect(toList()); } /** diff --git a/src/test/java/com/github/difflib/text/DiffRowGeneratorTest.java b/src/test/java/com/github/difflib/text/DiffRowGeneratorTest.java index 752560b2..c667b251 100644 --- a/src/test/java/com/github/difflib/text/DiffRowGeneratorTest.java +++ b/src/test/java/com/github/difflib/text/DiffRowGeneratorTest.java @@ -405,4 +405,16 @@ public void testGeneratorIssue41UserNormalizer() throws DiffException { rows = generator.generateDiffRows(Arrays.asList("\t<"), Arrays.asList("<")); assertEquals("[[CHANGE, <,<]]", rows.toString()); } + + @Test + public void testGenerationIssue44reportLinesUnchangedProblem() throws DiffException { + DiffRowGenerator generator = DiffRowGenerator.create() + .showInlineDiffs(true) + .reportLinesUnchanged(true) + .oldTag(f -> "~~") + .newTag(f -> "**") + .build(); + List rows = generator.generateDiffRows(Arrays.asList("
To do
"), Arrays.asList("
Done
")); + assertEquals("[[CHANGE,
~~T~~o~~ do~~
,
**D**o**ne**
]]", rows.toString()); + } }