Reformat stdlib tests and samples

#KT-5558
This commit is contained in:
Ilya Gorbunov
2018-04-23 16:18:24 +03:00
parent add09e0f2e
commit ecf0d7ec0d
39 changed files with 389 additions and 284 deletions
+41 -32
View File
@@ -21,8 +21,9 @@ fun withOneCharSequenceArg(f: ((String) -> CharSequence) -> Unit) {
for (arg1Builder in charSequenceBuilders) f(arg1Builder)
}
fun withOneCharSequenceArg(arg1: String, f: (CharSequence) -> Unit)
= withOneCharSequenceArg { arg1Builder -> f(arg1Builder(arg1)) }
fun withOneCharSequenceArg(arg1: String, f: (CharSequence) -> Unit) {
withOneCharSequenceArg { arg1Builder -> f(arg1Builder(arg1)) }
}
fun withTwoCharSequenceArgs(f: ((String) -> CharSequence, (String) -> CharSequence) -> Unit) {
for (arg1Builder in charSequenceBuilders)
@@ -35,6 +36,7 @@ fun assertContentEquals(expected: String, actual: CharSequence, message: String?
}
// helper predicates available on both platforms
fun Char.isAsciiDigit() = this in '0'..'9'
fun Char.isAsciiLetter() = this in 'A'..'Z' || this in 'a'..'z'
fun Char.isAsciiUpperCase() = this in 'A'..'Z'
@@ -55,8 +57,7 @@ class StringTest {
val value = case.value?.let { arg1(it) }
assertEquals(case.isNull || case.isEmpty, value.isNullOrEmpty(), "failed for case '$value'")
assertEquals(case.isNull || case.isBlank, value.isNullOrBlank(), "failed for case '$value'")
if (value != null)
{
if (value != null) {
assertEquals(case.isEmpty, value.isEmpty(), "failed for case '$value'")
assertEquals(case.isBlank, value.isBlank(), "failed for case '$value'")
}
@@ -116,7 +117,7 @@ class StringTest {
@Test fun endsWithStringForCharSequence() = withTwoCharSequenceArgs { arg1, arg2 ->
fun String.endsWithCs(suffix: String, ignoreCase: Boolean = false): Boolean =
arg1(this).endsWith(arg2(suffix), ignoreCase)
assertTrue("abcd".endsWithCs("d"))
assertTrue("abcd".endsWithCs("abcd"))
assertFalse("abcd".endsWithCs("b"))
@@ -265,7 +266,7 @@ class StringTest {
assertContentEquals("sae text", s.removeRange(2, 5))
assertContentEquals("sa text", s.removeRange(2..5))
assertContentEquals(s.toString(), s.removeRange(2,2))
assertContentEquals(s.toString(), s.removeRange(2, 2))
// symmetry with indices
assertContentEquals("", s.removeRange(s.indices))
@@ -337,7 +338,7 @@ class StringTest {
@Test fun stringIterator() = withOneCharSequenceArg("239") { data ->
var sum = 0
for(c in data)
for (c in data)
sum += (c - '0')
assertTrue(sum == 14)
}
@@ -358,8 +359,8 @@ class StringTest {
assertContentEquals("a", "\ra".trimStartCS())
assertContentEquals("a", "\na".trimStartCS())
assertContentEquals("a=", arg1("-=-=a=").trimStart('-','='))
assertContentEquals("123a", arg1("ab123a").trimStart { !it.isAsciiDigit() })
assertContentEquals("a=", arg1("-=-=a=").trimStart('-', '='))
assertContentEquals("123a", arg1("ab123a").trimStart { !it.isAsciiDigit() })
}
@Test fun trimEnd() = withOneCharSequenceArg { arg1 ->
@@ -378,20 +379,21 @@ class StringTest {
assertContentEquals("a", "a\r".trimEndCS())
assertContentEquals("a", "a\n".trimEndCS())
assertContentEquals("=a", arg1("=a=-=-").trimEnd('-','='))
assertContentEquals("=a", arg1("=a=-=-").trimEnd('-', '='))
assertContentEquals("ab123", arg1("ab123a").trimEnd { !it.isAsciiDigit() })
}
@Test fun trimStartAndEnd() = withOneCharSequenceArg { arg1 ->
val examples = arrayOf("a",
" a ",
" a ",
" a b ",
"\ta\tb\t",
"\t\ta\t\t",
"\ra\r",
"\na\n",
" \u00A0 a \u00A0 "
val examples = arrayOf(
"a",
" a ",
" a ",
" a b ",
"\ta\tb\t",
"\t\ta\t\t",
"\ra\r",
"\na\n",
" \u00A0 a \u00A0 "
)
for ((source, example) in examples.map { it to arg1(it) }) {
@@ -399,8 +401,9 @@ class StringTest {
assertContentEquals(source.trimStart().trimEnd(), example.trim())
}
val examplesForPredicate = arrayOf("123",
"-=123=-"
val examplesForPredicate = arrayOf(
"123",
"-=123=-"
)
val trimChars = charArrayOf('-', '=')
@@ -676,9 +679,15 @@ class StringTest {
assertEquals(2, string.lastIndexOf('e', 3, ignoreCase = true))
for (startIndex in -1..string.length+1){
assertEquals(string.indexOfAny(charArrayOf('e'), startIndex, ignoreCase = true), string.indexOf('E', startIndex, ignoreCase = true))
assertEquals(string.lastIndexOfAny(charArrayOf('E'), startIndex, ignoreCase = true), string.lastIndexOf('e', startIndex, ignoreCase = true))
for (startIndex in -1..string.length + 1) {
assertEquals(
string.indexOfAny(charArrayOf('e'), startIndex, ignoreCase = true),
string.indexOf('E', startIndex, ignoreCase = true)
)
assertEquals(
string.lastIndexOfAny(charArrayOf('E'), startIndex, ignoreCase = true),
string.lastIndexOf('e', startIndex, ignoreCase = true)
)
}
}
@@ -738,8 +747,8 @@ class StringTest {
@Test fun replaceFirst() {
val input = "AbbabA"
assertEquals("Abb${'$'}bA", input.replaceFirst('a','$'))
assertEquals("${'$'}bbabA", input.replaceFirst('a','$', ignoreCase = true))
assertEquals("Abb${'$'}bA", input.replaceFirst('a', '$'))
assertEquals("${'$'}bbabA", input.replaceFirst('a', '$', ignoreCase = true))
// doesn't pass in Rhino JS
// assertEquals("schrodinger", "schrÖdinger".replaceFirst('ö', 'o', ignoreCase = true))
@@ -789,8 +798,8 @@ class StringTest {
assertTrue(data === newData)
// static types test
assertStaticTypeIs<String>("x".onEach { })
assertStaticTypeIs<StringBuilder>(result.onEach { })
assertStaticTypeIs<String>("x".onEach { })
assertStaticTypeIs<StringBuilder>(result.onEach { })
}
@@ -989,7 +998,7 @@ class StringTest {
@Test fun fold() = withOneCharSequenceArg { arg1 ->
// calculate number of digits in the string
val data = arg1("a1b2c3def")
val result = data.fold(0, { digits, c -> if(c.isAsciiDigit()) digits + 1 else digits } )
val result = data.fold(0, { digits, c -> if (c.isAsciiDigit()) digits + 1 else digits })
assertEquals(3, result)
//simulate all method
@@ -1002,7 +1011,7 @@ class StringTest {
@Test fun foldRight() = withOneCharSequenceArg { arg1 ->
// calculate number of digits in the string
val data = arg1("a1b2c3def")
val result = data.foldRight(0, { c, digits -> if(c.isAsciiDigit()) digits + 1 else digits })
val result = data.foldRight(0, { c, digits -> if (c.isAsciiDigit()) digits + 1 else digits })
assertEquals(3, result)
//simulate all method
@@ -1070,8 +1079,8 @@ class StringTest {
// group characters by their case
val result = data.groupBy { it.isAsciiUpperCase() }
assertEquals(2, result.size)
assertEquals(listOf('a','b','b','a','c'), result[false])
assertEquals(listOf('A','A','B','D'), result[true])
assertEquals(listOf('a', 'b', 'b', 'a', 'c'), result[false])
assertEquals(listOf('A', 'A', 'B', 'D'), result[true])
}
@Test fun joinToString() {