Skip to content

Commit 4fefecd

Browse files
committed
Fix Emoji test
1 parent 746a7fb commit 4fefecd

File tree

2 files changed

+19
-15
lines changed
  • features/messages/impl/src
    • main/kotlin/io/element/android/features/messages/impl/utils
    • test/kotlin/io/element/android/features/messages/impl/utils

2 files changed

+19
-15
lines changed

features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,10 @@ import io.element.android.features.messages.impl.timeline.model.event.AN_EMOJI_O
2222
fun String.containsOnlyEmojis(): Boolean {
2323
if (LocalInspectionMode.current) return this == AN_EMOJI_ONLY_TEXT
2424
if (isEmpty()) return false
25+
return containsOnlyEmojisInternal()
26+
}
2527

28+
internal fun String.containsOnlyEmojisInternal(): Boolean {
2629
val matcher = GraphemeMatcher(this)
2730
var m: GraphemeMatchResult? = null
2831
var contiguous = true

features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/utils/EmojiTest.kt

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,30 @@
88
package io.element.android.features.messages.impl.utils
99

1010
import org.junit.Assert
11+
import org.junit.Assert.assertTrue
1112
import org.junit.Test
1213

1314
class EmojiTest {
1415
@Test
1516
fun validEmojis() {
1617
// Simple single/multiple single-codepoint emojis per string
17-
Assert.assertTrue("👍".containsOnlyEmojis())
18-
Assert.assertTrue("😀".containsOnlyEmojis())
19-
Assert.assertTrue("🙂🙁".containsOnlyEmojis())
20-
Assert.assertTrue("👁❤️🍝".containsOnlyEmojis()) // 👁 is a pictographic
21-
Assert.assertTrue("👨‍👩‍👦1️⃣🚀👳🏾‍♂️🪩".containsOnlyEmojis())
22-
Assert.assertTrue("🌍🌎🌏".containsOnlyEmojis())
18+
assertTrue("👍".containsOnlyEmojisInternal())
19+
assertTrue("😀".containsOnlyEmojisInternal())
20+
assertTrue("🙂🙁".containsOnlyEmojisInternal())
21+
assertTrue("👁❤️🍝".containsOnlyEmojisInternal()) // 👁 is a pictographic
22+
assertTrue("👨‍👩‍👦1️⃣🚀👳🏾‍♂️🪩".containsOnlyEmojisInternal())
23+
assertTrue("🌍🌎🌏".containsOnlyEmojisInternal())
2324

2425
// Awkward multi-codepoint graphemes
25-
Assert.assertTrue("🧑‍🧑‍🧒‍🧒".containsOnlyEmojis())
26-
Assert.assertTrue("🏴‍☠".containsOnlyEmojis())
27-
Assert.assertTrue("👩🏿‍🔧".containsOnlyEmojis())
26+
assertTrue("🧑‍🧑‍🧒‍🧒".containsOnlyEmojisInternal())
27+
assertTrue("🏴‍☠".containsOnlyEmojisInternal())
28+
assertTrue("👩🏿‍🔧".containsOnlyEmojisInternal())
2829

29-
Assert.assertFalse("".containsOnlyEmojis())
30-
Assert.assertFalse(" ".containsOnlyEmojis())
31-
Assert.assertFalse("🙂 🙁".containsOnlyEmojis())
32-
Assert.assertFalse(" 🙂 🙁 ".containsOnlyEmojis())
33-
Assert.assertFalse("Hello".containsOnlyEmojis())
34-
Assert.assertFalse("Hello 👋".containsOnlyEmojis())
30+
Assert.assertFalse("".containsOnlyEmojisInternal())
31+
Assert.assertFalse(" ".containsOnlyEmojisInternal())
32+
Assert.assertFalse("🙂 🙁".containsOnlyEmojisInternal())
33+
Assert.assertFalse(" 🙂 🙁 ".containsOnlyEmojisInternal())
34+
Assert.assertFalse("Hello".containsOnlyEmojisInternal())
35+
Assert.assertFalse("Hello 👋".containsOnlyEmojisInternal())
3536
}
3637
}

0 commit comments

Comments
 (0)