util: extract StringUtil.findStartingLineSeparator
[idea/community.git] / platform / util / testSrc / com / intellij / util / text / StringUtilTest.java
index 569734335156dbc7a4703e42c39b11719f73a77b..b8791aea3bf85714155bcbd8852f5d6507162aae 100644 (file)
@@ -373,6 +373,28 @@ public class StringUtilTest {
     assertEquals(LineSeparator.CRLF, StringUtil.detectSeparators("asd\r\nads\n"));
   }
 
     assertEquals(LineSeparator.CRLF, StringUtil.detectSeparators("asd\r\nads\n"));
   }
 
+  @Test
+  public void testFindStartingLineSeparator() {
+    assertEquals(null, StringUtil.findStartingLineSeparator("", -1));
+    assertEquals(null, StringUtil.findStartingLineSeparator("", 0));
+    assertEquals(null, StringUtil.findStartingLineSeparator("", 1));
+    assertEquals(null, StringUtil.findStartingLineSeparator("\nHello", -1));
+    assertEquals(null, StringUtil.findStartingLineSeparator("\nHello", 1));
+    assertEquals(null, StringUtil.findStartingLineSeparator("\nH\rel\nlo", 6));
+
+    assertEquals(LineSeparator.LF, StringUtil.findStartingLineSeparator("\nHello", 0));
+    assertEquals(LineSeparator.LF, StringUtil.findStartingLineSeparator("\nH\rel\nlo", 5));
+    assertEquals(LineSeparator.LF, StringUtil.findStartingLineSeparator("Hello\n", 5));
+
+    assertEquals(LineSeparator.CR, StringUtil.findStartingLineSeparator("\rH\r\nello", 0));
+    assertEquals(LineSeparator.CR, StringUtil.findStartingLineSeparator("Hello\r", 5));
+    assertEquals(LineSeparator.CR, StringUtil.findStartingLineSeparator("Hello\b\r", 6));
+
+    assertEquals(LineSeparator.CRLF, StringUtil.findStartingLineSeparator("\rH\r\nello", 2));
+    assertEquals(LineSeparator.CRLF, StringUtil.findStartingLineSeparator("\r\nH\r\nello", 0));
+    assertEquals(LineSeparator.CRLF, StringUtil.findStartingLineSeparator("\r\nH\r\nello\r\n", 9));
+  }
+
   @Test
   public void testFormatFileSize() {
     assertEquals("0B", StringUtil.formatFileSize(0));
   @Test
   public void testFormatFileSize() {
     assertEquals("0B", StringUtil.formatFileSize(0));