diff --git a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/util/Strings.kt b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/util/Strings.kt index e126ae0..c9c1f8a 100644 --- a/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/util/Strings.kt +++ b/app/src/main/java/net/thauvin/erik/android/tesremoteprogrammer/util/Strings.kt @@ -18,10 +18,11 @@ package net.thauvin.erik.android.tesremoteprogrammer.util import android.text.Html +import android.text.Spanned private val digitPattern = Regex("[0-9]+") -fun String.fromHtml() = Html.fromHtml(this, Html.FROM_HTML_MODE_LEGACY) +fun String.fromHtml(): Spanned = Html.fromHtml(this, Html.FROM_HTML_MODE_LEGACY) fun String.isDigits() = isNotBlank() && matches(digitPattern) diff --git a/app/src/test/java/net/thauvin/erik/android/tesremoteprogrammer/util/StringsTest.kt b/app/src/test/java/net/thauvin/erik/android/tesremoteprogrammer/util/StringsTest.kt new file mode 100644 index 0000000..7d4285f --- /dev/null +++ b/app/src/test/java/net/thauvin/erik/android/tesremoteprogrammer/util/StringsTest.kt @@ -0,0 +1,53 @@ +package net.thauvin.erik.android.tesremoteprogrammer.util + +import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue +import org.junit.Test + +class StringsTest { + + @Test + fun isDigits() { + assertTrue("0-9", "0123456789".isDigits()) + assertFalse("a", "a".isDigits()) + assertFalse("1.3", "1.3".isDigits()) + assertFalse("empty", "".isDigits()) + assertFalse("blank", " ".isDigits()) + } + + @Test + fun isDKS() { + assertTrue(Dtmf.DKS.isDKS()) + assertFalse(Dtmf.LINEAR.isDKS()) + } + + @Test + fun isLinear() { + assertTrue(Dtmf.LINEAR.isLinear()) + assertFalse(Dtmf.DKS.isLinear()) + } + + @Test + fun ifNull() { + val n: String? = null + assertEquals("null", n.ifNull(), "") + assertEquals("test", "test".ifNull(), "test") + } + + @Test + fun replaceAll() { + val s = "This is a test." + val r = arrayOf( + Pair("i", ""), + Pair("is", "no"), + Pair("TiT", "no"), + Pair("t", "T"), + Pair(".", "?"), + Pair(" ", "-"), + Pair("es", "i") + ) + + assertEquals(s.replaceAll(r), "Ths-s-a-TiT?") + } +}