You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by po...@apache.org on 2022/03/28 12:47:49 UTC

[creadur-rat] 01/04: RAT-273: Adapt test expectations to newer JDK's behaviour

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 <po...@apache.org>
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());