Fix Emoji test
This commit is contained in:
parent
746a7fbf37
commit
4fefecd0d9
2 changed files with 19 additions and 15 deletions
|
|
@ -22,7 +22,10 @@ import io.element.android.features.messages.impl.timeline.model.event.AN_EMOJI_O
|
|||
fun String.containsOnlyEmojis(): Boolean {
|
||||
if (LocalInspectionMode.current) return this == AN_EMOJI_ONLY_TEXT
|
||||
if (isEmpty()) return false
|
||||
return containsOnlyEmojisInternal()
|
||||
}
|
||||
|
||||
internal fun String.containsOnlyEmojisInternal(): Boolean {
|
||||
val matcher = GraphemeMatcher(this)
|
||||
var m: GraphemeMatchResult? = null
|
||||
var contiguous = true
|
||||
|
|
|
|||
|
|
@ -8,29 +8,30 @@
|
|||
package io.element.android.features.messages.impl.utils
|
||||
|
||||
import org.junit.Assert
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
|
||||
class EmojiTest {
|
||||
@Test
|
||||
fun validEmojis() {
|
||||
// Simple single/multiple single-codepoint emojis per string
|
||||
Assert.assertTrue("👍".containsOnlyEmojis())
|
||||
Assert.assertTrue("😀".containsOnlyEmojis())
|
||||
Assert.assertTrue("🙂🙁".containsOnlyEmojis())
|
||||
Assert.assertTrue("👁❤️🍝".containsOnlyEmojis()) // 👁 is a pictographic
|
||||
Assert.assertTrue("👨👩👦1️⃣🚀👳🏾♂️🪩".containsOnlyEmojis())
|
||||
Assert.assertTrue("🌍🌎🌏".containsOnlyEmojis())
|
||||
assertTrue("👍".containsOnlyEmojisInternal())
|
||||
assertTrue("😀".containsOnlyEmojisInternal())
|
||||
assertTrue("🙂🙁".containsOnlyEmojisInternal())
|
||||
assertTrue("👁❤️🍝".containsOnlyEmojisInternal()) // 👁 is a pictographic
|
||||
assertTrue("👨👩👦1️⃣🚀👳🏾♂️🪩".containsOnlyEmojisInternal())
|
||||
assertTrue("🌍🌎🌏".containsOnlyEmojisInternal())
|
||||
|
||||
// Awkward multi-codepoint graphemes
|
||||
Assert.assertTrue("🧑🧑🧒🧒".containsOnlyEmojis())
|
||||
Assert.assertTrue("🏴☠".containsOnlyEmojis())
|
||||
Assert.assertTrue("👩🏿🔧".containsOnlyEmojis())
|
||||
assertTrue("🧑🧑🧒🧒".containsOnlyEmojisInternal())
|
||||
assertTrue("🏴☠".containsOnlyEmojisInternal())
|
||||
assertTrue("👩🏿🔧".containsOnlyEmojisInternal())
|
||||
|
||||
Assert.assertFalse("".containsOnlyEmojis())
|
||||
Assert.assertFalse(" ".containsOnlyEmojis())
|
||||
Assert.assertFalse("🙂 🙁".containsOnlyEmojis())
|
||||
Assert.assertFalse(" 🙂 🙁 ".containsOnlyEmojis())
|
||||
Assert.assertFalse("Hello".containsOnlyEmojis())
|
||||
Assert.assertFalse("Hello 👋".containsOnlyEmojis())
|
||||
Assert.assertFalse("".containsOnlyEmojisInternal())
|
||||
Assert.assertFalse(" ".containsOnlyEmojisInternal())
|
||||
Assert.assertFalse("🙂 🙁".containsOnlyEmojisInternal())
|
||||
Assert.assertFalse(" 🙂 🙁 ".containsOnlyEmojisInternal())
|
||||
Assert.assertFalse("Hello".containsOnlyEmojisInternal())
|
||||
Assert.assertFalse("Hello 👋".containsOnlyEmojisInternal())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue