Unify substringBefore/After and related functions, so that they always return receiver in case of missing delimiter by default.

This commit is contained in:
Ilya Ryzhenkov
2014-07-15 21:29:51 +04:00
committed by Evgeny Gerashchenko
parent e22ff87d81
commit 295ce5fdf8
2 changed files with 71 additions and 51 deletions
+7 -3
View File
@@ -99,7 +99,9 @@ class StringTest {
assertEquals("", s.substringAfter("+"))
assertEquals("", s.substringBefore("-"))
assertEquals(s, s.substringBefore("="))
assertEquals("", s.substringAfter("="))
assertEquals(s, s.substringAfter("="))
assertEquals("xxx", s.substringBefore("=", "xxx"))
assertEquals("xxx", s.substringAfter("=", "xxx"))
}
@@ -120,7 +122,9 @@ class StringTest {
// non-existing delimiter
assertEquals("/user/folder/file.extension", s.replaceAfter("=", "doc"))
assertEquals("/user/folder/file.extension", s.replaceAfterLast("=", "another.doc"))
assertEquals("new name", s.replaceBefore("=", "new name"))
assertEquals("/new/path", s.replaceBeforeLast("=", "/new/path"))
assertEquals("/user/folder/file.extension", s.replaceBefore("=", "new name"))
assertEquals("/user/folder/file.extension", s.replaceBeforeLast("=", "/new/path"))
assertEquals("xxx", s.replaceBefore("=", "new name", "xxx"))
assertEquals("xxx", s.replaceBeforeLast("=", "/new/path", "xxx"))
}
}