From 54368014872d4d39ab1a20643a31a47279175167 Mon Sep 17 00:00:00 2001 From: Daniel Penkin Date: Fri, 13 Apr 2012 22:01:16 +0400 Subject: [PATCH] Added startsWith(Char) and endsWith(Char) for String --- libraries/stdlib/src/kotlin/Strings.kt | 4 ++++ libraries/stdlib/test/StringTest.kt | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/libraries/stdlib/src/kotlin/Strings.kt b/libraries/stdlib/src/kotlin/Strings.kt index 8afc56cb5fc..cf42a95fd64 100644 --- a/libraries/stdlib/src/kotlin/Strings.kt +++ b/libraries/stdlib/src/kotlin/Strings.kt @@ -70,10 +70,14 @@ public inline fun String.startsWith(prefix: String) : Boolean = (this as java.la public inline fun String.startsWith(prefix: String, toffset: Int) : Boolean = (this as java.lang.String).startsWith(prefix, toffset) +public inline fun String.startsWith(ch: Char) : Boolean = (this as java.lang.String).startsWith(ch.toString()) + public inline fun String.contains(seq: CharSequence) : Boolean = (this as java.lang.String).contains(seq) public inline fun String.endsWith(suffix: String) : Boolean = (this as java.lang.String).endsWith(suffix) +public inline fun String.endsWith(ch: Char) : Boolean = (this as java.lang.String).endsWith(ch.toString()) + inline val String.size : Int get() = length() diff --git a/libraries/stdlib/test/StringTest.kt b/libraries/stdlib/test/StringTest.kt index 2a3923c7673..34bd43da51a 100644 --- a/libraries/stdlib/test/StringTest.kt +++ b/libraries/stdlib/test/StringTest.kt @@ -66,4 +66,16 @@ class StringTest { assertEquals(s, list[0]) } + fun testStartsWithChar() { + assertTrue("abcd".startsWith('a')) + assertFalse("abcd".startsWith('b')) + assertFalse("".startsWith('a')) + } + + fun testEndsWithChar() { + assertTrue("abcd".endsWith('d')) + assertFalse("abcd".endsWith('b')) + assertFalse("".endsWith('a')) + } + }