Add isEmpty, isBlank methods and their nullable and negating couterparts.

This commit is contained in:
Ilya Gorbunov
2015-03-31 18:31:45 +03:00
parent 4efb0dbf9a
commit ac4b207413
4 changed files with 71 additions and 3 deletions
+24
View File
@@ -3,8 +3,32 @@ package test.text
import kotlin.test.*
import org.junit.Test as test
// could not be local inside isEmptyAndBlank, because non-toplevel declarations is not yet supported for JS
class IsEmptyCase(val value: String?, val isNull: Boolean = false, val isEmpty: Boolean = false, val isBlank: Boolean = false)
class StringTest {
test fun isEmptyAndBlank() {
val cases = listOf(
IsEmptyCase(null, isNull = true),
IsEmptyCase("", isEmpty = true, isBlank = true),
IsEmptyCase(" \r\n\t\u00A0", isBlank = true),
IsEmptyCase(" Some ")
)
for (case in cases) {
assertEquals(case.isNull || case.isEmpty, case.value.isNullOrEmpty(), "failed for case '${case.value}'")
assertEquals(case.isNull || case.isBlank, case.value.isNullOrBlank(), "failed for case '${case.value}'")
if (case.value != null)
{
assertEquals(case.isEmpty, case.value.isEmpty(), "failed for case '${case.value}'")
assertEquals(case.isBlank, case.value.isBlank(), "failed for case '${case.value}'")
}
}
}
test fun startsWithString() {
assertTrue("abcd".startsWith("ab"))
assertTrue("abcd".startsWith("abcd"))