aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-03-01 10:46:54 +0100
committerLinnea Gräf <nea@nea.moe>2024-03-01 10:46:54 +0100
commitf28dee0ef3a0dd4a0819a3d3a1c800a83a0f07f5 (patch)
tree683e422123e66e218e36c571479fa9bbdce03469
parent953ab2f83e2337b10a6c8c7dbbecf45a75ff8b59 (diff)
downloadfirmament-f28dee0ef3a0dd4a0819a3d3a1c800a83a0f07f5.tar.gz
firmament-f28dee0ef3a0dd4a0819a3d3a1c800a83a0f07f5.tar.bz2
firmament-f28dee0ef3a0dd4a0819a3d3a1c800a83a0f07f5.zip
Add more color code tests
[no changelog]
-rw-r--r--src/main/kotlin/moe/nea/firmament/util/textutil.kt2
-rw-r--r--src/test/kotlin/moe/nea/firmament/test/ColorCode.kt35
2 files changed, 36 insertions, 1 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/util/textutil.kt b/src/main/kotlin/moe/nea/firmament/util/textutil.kt
index 1d61332..cfe548d 100644
--- a/src/main/kotlin/moe/nea/firmament/util/textutil.kt
+++ b/src/main/kotlin/moe/nea/firmament/util/textutil.kt
@@ -93,7 +93,7 @@ fun CharSequence.removeColorCodes(keepNonColorCodes: Boolean = false): String {
}
val Text.unformattedString: String
- get() = string.removeColorCodes().toString()
+ get() = string.removeColorCodes()
fun Text.transformEachRecursively(function: (Text) -> Text): Text {
diff --git a/src/test/kotlin/moe/nea/firmament/test/ColorCode.kt b/src/test/kotlin/moe/nea/firmament/test/ColorCode.kt
index 737534e..b8968aa 100644
--- a/src/test/kotlin/moe/nea/firmament/test/ColorCode.kt
+++ b/src/test/kotlin/moe/nea/firmament/test/ColorCode.kt
@@ -25,4 +25,39 @@ class ColorCode {
Assertions.assertEquals("b§lc§l", "§ab§l§§c§l".removeColorCodes(true).toString())
Assertions.assertEquals("§lb§lc", "§l§ab§l§§c".removeColorCodes(true).toString())
}
+
+ @Test
+ fun testEdging() {
+ Assertions.assertEquals("", "§".removeColorCodes())
+ Assertions.assertEquals("a", "a§".removeColorCodes())
+ Assertions.assertEquals("b", "§ab§".removeColorCodes())
+ }
+
+ @Test
+ fun `testDouble§`() {
+ Assertions.assertEquals("1", "§§1".removeColorCodes())
+ }
+
+ @Test
+ fun testKeepNonColor() {
+ Assertions.assertEquals("§k§l§m§n§o§r", "§k§l§m§f§n§o§r".removeColorCodes(true))
+ }
+
+ @Test
+ fun testPlainString() {
+ Assertions.assertEquals("bcdefgp", "bcdefgp".removeColorCodes())
+ Assertions.assertEquals("", "".removeColorCodes())
+ }
+
+ @Test
+ fun testSomeNormalTestCases() {
+ Assertions.assertEquals(
+ "You are not currently in a party.",
+ "§r§cYou are not currently in a party.§r".removeColorCodes()
+ )
+ Assertions.assertEquals(
+ "Ancient Necron's Chestplate ✪✪✪✪",
+ "§dAncient Necron's Chestplate §6✪§6✪§6✪§6✪".removeColorCodes()
+ )
+ }
}