From 8006986dd8547ec1d1ceba4ad4c8a09eff8dcbc8 Mon Sep 17 00:00:00 2001 From: Tobias Warneke Date: Sun, 21 Jun 2020 02:04:14 +0200 Subject: [PATCH] fixes #85 --- .../com/github/difflib/unifieddiff/UnifiedDiffReader.java | 5 +++-- .../github/difflib/unifieddiff/UnifiedDiffReaderTest.java | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/java-diff-utils/src/main/java/com/github/difflib/unifieddiff/UnifiedDiffReader.java b/java-diff-utils/src/main/java/com/github/difflib/unifieddiff/UnifiedDiffReader.java index 6730be3..3673767 100644 --- a/java-diff-utils/src/main/java/com/github/difflib/unifieddiff/UnifiedDiffReader.java +++ b/java-diff-utils/src/main/java/com/github/difflib/unifieddiff/UnifiedDiffReader.java @@ -39,7 +39,7 @@ import java.util.regex.Pattern; public final class UnifiedDiffReader { static final Pattern UNIFIED_DIFF_CHUNK_REGEXP = Pattern.compile("^@@\\s+-(?:(\\d+)(?:,(\\d+))?)\\s+\\+(?:(\\d+)(?:,(\\d+))?)\\s+@@"); - static final Pattern TIMESTAMP_REGEXP = Pattern.compile("(\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}\\.\\d{3,})"); + static final Pattern TIMESTAMP_REGEXP = Pattern.compile("(\\d{4}-\\d{2}-\\d{2}[T ]\\d{2}:\\d{2}:\\d{2}\\.\\d{3,})(?: [+-]\\d+)?"); private final InternalUnifiedDiffReader READER; private final UnifiedDiff data = new UnifiedDiff(); @@ -258,8 +258,9 @@ public final class UnifiedDiffReader { if (matcher.find()) { line = line.substring(0, matcher.start()); } + line = line.split("\t")[0]; return line.substring(4).replaceFirst("^(a|b|old|new)(\\/)?", "") - .replace(TIMESTAMP_REGEXP.toString(), "").trim(); + .trim(); } private String extractTimestamp(String line) { diff --git a/java-diff-utils/src/test/java/com/github/difflib/unifieddiff/UnifiedDiffReaderTest.java b/java-diff-utils/src/test/java/com/github/difflib/unifieddiff/UnifiedDiffReaderTest.java index b663ce1..016e574 100644 --- a/java-diff-utils/src/test/java/com/github/difflib/unifieddiff/UnifiedDiffReaderTest.java +++ b/java-diff-utils/src/test/java/com/github/difflib/unifieddiff/UnifiedDiffReaderTest.java @@ -192,4 +192,9 @@ public class UnifiedDiffReaderTest { assertNull(diff.getTail()); } + + @Test + public void testTimeStampRegexp() { + assertThat("2019-04-18 13:49:39.516149751 +0200").matches(UnifiedDiffReader.TIMESTAMP_REGEXP); + } }