[Util] Remove `\r\n` as line separator in StringUtils.collectLines
Change-Id: Ifdf37fdd9a77138d174a65d2df8a41d4273d3d75
diff --git a/jcommons/org.eclipse.statet.jcommons.util-tests/src/org/eclipse/statet/jcommons/util/StringUtilsTest.java b/jcommons/org.eclipse.statet.jcommons.util-tests/src/org/eclipse/statet/jcommons/util/StringUtilsTest.java
index 5c76b1e..f6d21aa 100644
--- a/jcommons/org.eclipse.statet.jcommons.util-tests/src/org/eclipse/statet/jcommons/util/StringUtilsTest.java
+++ b/jcommons/org.eclipse.statet.jcommons.util-tests/src/org/eclipse/statet/jcommons/util/StringUtilsTest.java
@@ -708,24 +708,28 @@
lines.clear();
StringUtils.collectLines("1234567890\nABCDEFGHIJ\r\nabcdefghij", lines);
- assertArrayEquals(lines.toArray(),
- new String[] { "1234567890", "ABCDEFGHIJ", "abcdefghij" } );
+ assertArrayEquals(new String[] { "1234567890", "ABCDEFGHIJ", "abcdefghij" },
+ lines.toArray() );
lines.clear();
StringUtils.collectLines("1234567890\n\nabcdefghij", lines);
- assertArrayEquals(lines.toArray(),
- new String[] { "1234567890", "", "abcdefghij" } );
+ assertArrayEquals(new String[] { "1234567890", "", "abcdefghij" },
+ lines.toArray() );
+
+ lines.clear();
+ StringUtils.collectLines("1234567890\n\rabcdefghij", lines);
+ assertArrayEquals(new String[] { "1234567890", "", "abcdefghij" },
+ lines.toArray() );
lines.clear();
StringUtils.collectLines("\nABCDEFGHIJ\nabcdefghij", lines);
- assertArrayEquals(lines.toArray(),
- new String[] { "", "ABCDEFGHIJ", "abcdefghij" } );
+ assertArrayEquals(new String[] { "", "ABCDEFGHIJ", "abcdefghij" },
+ lines.toArray() );
lines.clear();
StringUtils.collectLines("1234567890\nABCDEFGHIJ\r\n", lines);
- assertArrayEquals(lines.toArray(),
- new String[] { "1234567890", "ABCDEFGHIJ" } );
-
+ assertArrayEquals(new String[] { "1234567890", "ABCDEFGHIJ" },
+ lines.toArray() );
}
@Test
diff --git a/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/util/StringUtils.java b/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/util/StringUtils.java
index 09e91dc..b653b06 100644
--- a/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/util/StringUtils.java
+++ b/jcommons/org.eclipse.statet.jcommons.util/src/org/eclipse/statet/jcommons/util/StringUtils.java
@@ -387,19 +387,14 @@
while (idx < n) {
switch (s.charAt(idx)) {
case '\r':
- lines.add(s.substring(lineStartIdx, idx));
- idx++;
+ lines.add(s.substring(lineStartIdx, idx++));
if (idx < n && s.charAt(idx) == '\n') {
idx++;
}
lineStartIdx= idx;
continue;
case '\n':
- lines.add(s.substring(lineStartIdx, idx));
- idx++;
- if (idx < n && s.charAt(idx) == '\r') {
- idx++;
- }
+ lines.add(s.substring(lineStartIdx, idx++));
lineStartIdx= idx;
continue;
default: