This is an automated email from the ASF dual-hosted git repository. pottlinger pushed a commit to branch fix/RAT-273 in repository https://gitbox.apache.org/repos/asf/creadur-rat.git
commit 0ab88c3758637ea53ff3c3e8808de374cdb39ffd Author: P. Ottlinger <[email protected]> AuthorDate: Mon Mar 28 14:40:03 2022 +0200 RAT-273: Adapt test expectations to newer JDK's behaviour --- .../org/apache/rat/header/HeaderMatcherTest.java | 32 ++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/apache-rat-core/src/test/java/org/apache/rat/header/HeaderMatcherTest.java b/apache-rat-core/src/test/java/org/apache/rat/header/HeaderMatcherTest.java index 721fa06..0287461 100644 --- a/apache-rat-core/src/test/java/org/apache/rat/header/HeaderMatcherTest.java +++ b/apache-rat-core/src/test/java/org/apache/rat/header/HeaderMatcherTest.java @@ -67,22 +67,38 @@ public class HeaderMatcherTest { @Test public void noLines() throws Exception { - StringReader reader = new StringReader("None"); + StringReader reader = new StringReader(""); matcher.read(reader); assertEquals("No lines read", 0, matcher.lines()); } - + @Test - public void lines() throws Exception { - StringReader reader = new StringReader("One\n"); + public void noLines_lineEndingHandledDifferentlyInNewerJDK() throws Exception { + StringReader reader = new StringReader("None"); matcher.read(reader); - assertEquals("One line read", 1, matcher.lines()); - reader = new StringReader("One\nTwo"); + int numberOfLinesRead = matcher.lines(); + assertTrue("No lines read in older JDK or one line in newer JDK as implicit stream end is counted as line ending", numberOfLinesRead == 0 || numberOfLinesRead == 1); + } + + @Test + public void lines_lineEndingHandledDifferentlyInNewerJDK() throws Exception { + StringReader reader = new StringReader("One\nTwo"); matcher.read(reader); - assertEquals("One line read", 1, matcher.lines()); + int numberOfLinesRead = matcher.lines(); + assertTrue("One line read read in older JDK or two lines in newer JDK as implicit stream end is counted as line ending", numberOfLinesRead == 1 || numberOfLinesRead == 2); + reader = new StringReader("One\nTwo\nThree"); matcher.read(reader); - assertEquals("Two lines read", 2, matcher.lines()); + numberOfLinesRead = matcher.lines(); + assertTrue("Two lines read read in older JDK or three lines in newer JDK as implicit stream end is counted as line ending", numberOfLinesRead == 2 || numberOfLinesRead == 3); + } + + @Test + public void lines() throws Exception { + StringReader reader = new StringReader("One\n"); + matcher.read(reader); + assertEquals("One line read", 1, matcher.lines()); + reader = new StringReader("One\nTwo\nThree\n"); matcher.read(reader); assertEquals("Three lines read", 3, matcher.lines());
