fixes #1557: Filter out emojis when creating short names (#1578)

* Filter out emojis from text when finding initials

* Confirm non-English non-emoji unicde isn't filtered

* Remove unused example unit test

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
Joshua Soberg 2025-02-15 23:25:35 -05:00 committed by GitHub
parent e11d726e27
commit 24abd1ac4a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 21 additions and 50 deletions

View file

@ -18,22 +18,25 @@
package com.geeksville.mesh.ui
import com.geeksville.mesh.model.getInitials
import org.junit.Assert
import org.junit.Assert.assertEquals
import org.junit.Test
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class UIUnitTest {
@Test
fun initialsGood() {
Assert.assertEquals("KH", getInitials("Kevin Hester"))
Assert.assertEquals("KHLC", getInitials(" Kevin Hester Lesser Cat "))
Assert.assertEquals("", getInitials(" "))
Assert.assertEquals("gksv", getInitials("geeksville"))
Assert.assertEquals("geek", getInitials("geek"))
Assert.assertEquals("gks1", getInitials("geeks1"))
assertEquals("KH", getInitials("Kevin Hester"))
assertEquals("KHLC", getInitials(" Kevin Hester Lesser Cat "))
assertEquals("", getInitials(" "))
assertEquals("gksv", getInitials("geeksville"))
assertEquals("geek", getInitials("geek"))
assertEquals("gks1", getInitials("geeks1"))
}
@Test
fun ignoreEmojisWhenCreatingInitials() {
assertEquals("TG", getInitials("The \uD83D\uDC10 Goat"))
assertEquals("TT", getInitials("The \uD83E\uDD14Thinker"))
assertEquals("TCH", getInitials("\uD83D\uDC4F\uD83C\uDFFFThe Clapping Hands"))
assertEquals("山羊", getInitials("山羊\uD83D\uDC10"))
}
}