Skip to content

Commit

Permalink
Bug fix: Fix EmojiUtils.isOnlyEmojis not detecting emojis with varian…
Browse files Browse the repository at this point in the history
…t selectors. (#1087)
  • Loading branch information
vanniktech committed May 17, 2024
1 parent ec82b5d commit 6bd9008
Show file tree
Hide file tree
Showing 116 changed files with 8,150 additions and 1,443 deletions.
4 changes: 1 addition & 3 deletions emoji-androidx-emoji2/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@ kotlin {

val commonTest by getting {
dependencies {
implementation(libs.kotlin.test.common)
implementation(libs.kotlin.test.annotations.common)
implementation(libs.kotlin.test)
}
}

Expand All @@ -50,7 +49,6 @@ kotlin {
val androidUnitTest by getting {
dependencies {
implementation(libs.kotlin.test.junit)
implementation(libs.robolectric)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,25 @@ internal object ActivitiesCategoryChunk0 {
AndroidxEmoji2(String(intArrayOf(0x1F9E7), 0, 1), listOf("red_envelope"), false),
AndroidxEmoji2(String(intArrayOf(0x1F380), 0, 1), listOf("ribbon"), false),
AndroidxEmoji2(String(intArrayOf(0x1F381), 0, 1), listOf("gift"), false),
AndroidxEmoji2(String(intArrayOf(0x1F397, 0xFE0F), 0, 2), listOf("reminder_ribbon"), false),
AndroidxEmoji2(String(intArrayOf(0x1F39F, 0xFE0F), 0, 2), listOf("admission_tickets"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F397), 0, 1), listOf("reminder_ribbon"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F397, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(
String(intArrayOf(0x1F39F), 0, 1), listOf("admission_tickets"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F39F, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F3AB), 0, 1), listOf("ticket"), false),
AndroidxEmoji2(String(intArrayOf(0x1F396, 0xFE0F), 0, 2), listOf("medal"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F396), 0, 1), listOf("medal"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F396, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F3C6), 0, 1), listOf("trophy"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3C5), 0, 1), listOf("sports_medal"), false),
AndroidxEmoji2(String(intArrayOf(0x1F947), 0, 1), listOf("first_place_medal"), false),
Expand All @@ -67,7 +82,12 @@ internal object ActivitiesCategoryChunk0 {
AndroidxEmoji2(String(intArrayOf(0x1F94B), 0, 1), listOf("martial_arts_uniform"), false),
AndroidxEmoji2(String(intArrayOf(0x1F945), 0, 1), listOf("goal_net"), false),
AndroidxEmoji2(String(intArrayOf(0x26F3), 0, 1), listOf("golf"), false),
AndroidxEmoji2(String(intArrayOf(0x26F8, 0xFE0F), 0, 2), listOf("ice_skate"), false),
AndroidxEmoji2(
String(intArrayOf(0x26F8), 0, 1), listOf("ice_skate"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x26F8, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F3A3), 0, 1), listOf("fishing_pole_and_fish"), false),
AndroidxEmoji2(String(intArrayOf(0x1F93F), 0, 1), listOf("diving_mask"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3BD), 0, 1), listOf("running_shirt_with_sash"), false),
Expand All @@ -82,24 +102,59 @@ internal object ActivitiesCategoryChunk0 {
AndroidxEmoji2(String(intArrayOf(0x1F52E), 0, 1), listOf("crystal_ball"), false),
AndroidxEmoji2(String(intArrayOf(0x1FA84), 0, 1), listOf("magic_wand"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3AE), 0, 1), listOf("video_game"), false),
AndroidxEmoji2(String(intArrayOf(0x1F579, 0xFE0F), 0, 2), listOf("joystick"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F579), 0, 1), listOf("joystick"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F579, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F3B0), 0, 1), listOf("slot_machine"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3B2), 0, 1), listOf("game_die"), false),
AndroidxEmoji2(String(intArrayOf(0x1F9E9), 0, 1), listOf("jigsaw"), false),
AndroidxEmoji2(String(intArrayOf(0x1F9F8), 0, 1), listOf("teddy_bear"), false),
AndroidxEmoji2(String(intArrayOf(0x1FA85), 0, 1), listOf("pinata"), false),
AndroidxEmoji2(String(intArrayOf(0x1FAA9), 0, 1), listOf("mirror_ball"), false),
AndroidxEmoji2(String(intArrayOf(0x1FA86), 0, 1), listOf("nesting_dolls"), false),
AndroidxEmoji2(String(intArrayOf(0x2660, 0xFE0F), 0, 2), listOf("spades"), false),
AndroidxEmoji2(String(intArrayOf(0x2665, 0xFE0F), 0, 2), listOf("hearts"), false),
AndroidxEmoji2(String(intArrayOf(0x2666, 0xFE0F), 0, 2), listOf("diamonds"), false),
AndroidxEmoji2(String(intArrayOf(0x2663, 0xFE0F), 0, 2), listOf("clubs"), false),
AndroidxEmoji2(String(intArrayOf(0x265F, 0xFE0F), 0, 2), listOf("chess_pawn"), false),
AndroidxEmoji2(
String(intArrayOf(0x2660), 0, 1), listOf("spades"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x2660, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(
String(intArrayOf(0x2665), 0, 1), listOf("hearts"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x2665, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(
String(intArrayOf(0x2666), 0, 1), listOf("diamonds"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x2666, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(
String(intArrayOf(0x2663), 0, 1), listOf("clubs"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x2663, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(
String(intArrayOf(0x265F), 0, 1), listOf("chess_pawn"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x265F, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F0CF), 0, 1), listOf("black_joker"), false),
AndroidxEmoji2(String(intArrayOf(0x1F004), 0, 1), listOf("mahjong"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3B4), 0, 1), listOf("flower_playing_cards"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3AD), 0, 1), listOf("performing_arts"), false),
AndroidxEmoji2(String(intArrayOf(0x1F5BC, 0xFE0F), 0, 2), listOf("frame_with_picture"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F5BC), 0, 1), listOf("frame_with_picture"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F5BC, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F3A8), 0, 1), listOf("art"), false),
AndroidxEmoji2(String(intArrayOf(0x1F9F5), 0, 1), listOf("thread"), false),
AndroidxEmoji2(String(intArrayOf(0x1FAA1), 0, 1), listOf("sewing_needle"), false),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,22 @@ internal object AnimalsAndNatureCategoryChunk0 {
AndroidxEmoji2(String(intArrayOf(0x1F439), 0, 1), listOf("hamster"), false),
AndroidxEmoji2(String(intArrayOf(0x1F430), 0, 1), listOf("rabbit"), false),
AndroidxEmoji2(String(intArrayOf(0x1F407), 0, 1), listOf("rabbit2"), false),
AndroidxEmoji2(String(intArrayOf(0x1F43F, 0xFE0F), 0, 2), listOf("chipmunk"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F43F), 0, 1), listOf("chipmunk"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F43F, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F9AB), 0, 1), listOf("beaver"), false),
AndroidxEmoji2(String(intArrayOf(0x1F994), 0, 1), listOf("hedgehog"), false),
AndroidxEmoji2(String(intArrayOf(0x1F987), 0, 1), listOf("bat"), false),
AndroidxEmoji2(String(intArrayOf(0x1F43B), 0, 1), listOf("bear"), false),
AndroidxEmoji2(String(intArrayOf(0x1F43B, 0x200D, 0x2744, 0xFE0F), 0, 4), listOf("polar_bear"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F43B, 0x200D, 0x2744), 0, 3), listOf("polar_bear"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F43B, 0x200D, 0x2744, 0xFE0F), 0, 4), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F428), 0, 1), listOf("koala"), false),
AndroidxEmoji2(String(intArrayOf(0x1F43C), 0, 1), listOf("panda_face"), false),
AndroidxEmoji2(String(intArrayOf(0x1F9A5), 0, 1), listOf("sloth"), false),
Expand All @@ -94,7 +104,12 @@ internal object AnimalsAndNatureCategoryChunk0 {
AndroidxEmoji2(String(intArrayOf(0x1F425), 0, 1), listOf("hatched_chick"), false),
AndroidxEmoji2(String(intArrayOf(0x1F426), 0, 1), listOf("bird"), false),
AndroidxEmoji2(String(intArrayOf(0x1F427), 0, 1), listOf("penguin"), false),
AndroidxEmoji2(String(intArrayOf(0x1F54A, 0xFE0F), 0, 2), listOf("dove_of_peace"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F54A), 0, 1), listOf("dove_of_peace"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F54A, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F985), 0, 1), listOf("eagle"), false),
AndroidxEmoji2(String(intArrayOf(0x1F986), 0, 1), listOf("duck"), false),
AndroidxEmoji2(String(intArrayOf(0x1F9A2), 0, 1), listOf("swan"), false),
Expand Down Expand Up @@ -138,7 +153,17 @@ internal object AnimalsAndNatureCategoryChunk0 {
AndroidxEmoji2(String(intArrayOf(0x1F41E), 0, 1), listOf("ladybug", "lady_beetle"), false),
AndroidxEmoji2(String(intArrayOf(0x1F997), 0, 1), listOf("cricket"), false),
AndroidxEmoji2(String(intArrayOf(0x1FAB3), 0, 1), listOf("cockroach"), false),
AndroidxEmoji2(String(intArrayOf(0x1F577, 0xFE0F), 0, 2), listOf("spider"), false),
AndroidxEmoji2(String(intArrayOf(0x1F578, 0xFE0F), 0, 2), listOf("spider_web"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F577), 0, 1), listOf("spider"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F577, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(
String(intArrayOf(0x1F578), 0, 1), listOf("spider_web"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F578, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,12 @@ internal object AnimalsAndNatureCategoryChunk1 {
AndroidxEmoji2(String(intArrayOf(0x1F338), 0, 1), listOf("cherry_blossom"), false),
AndroidxEmoji2(String(intArrayOf(0x1F4AE), 0, 1), listOf("white_flower"), false),
AndroidxEmoji2(String(intArrayOf(0x1FAB7), 0, 1), listOf("lotus"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3F5, 0xFE0F), 0, 2), listOf("rosette"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F3F5), 0, 1), listOf("rosette"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F3F5, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F339), 0, 1), listOf("rose"), false),
AndroidxEmoji2(String(intArrayOf(0x1F940), 0, 1), listOf("wilted_flower"), false),
AndroidxEmoji2(String(intArrayOf(0x1F33A), 0, 1), listOf("hibiscus"), false),
Expand All @@ -45,7 +50,12 @@ internal object AnimalsAndNatureCategoryChunk1 {
AndroidxEmoji2(String(intArrayOf(0x1F335), 0, 1), listOf("cactus"), false),
AndroidxEmoji2(String(intArrayOf(0x1F33E), 0, 1), listOf("ear_of_rice"), false),
AndroidxEmoji2(String(intArrayOf(0x1F33F), 0, 1), listOf("herb"), false),
AndroidxEmoji2(String(intArrayOf(0x2618, 0xFE0F), 0, 2), listOf("shamrock"), false),
AndroidxEmoji2(
String(intArrayOf(0x2618), 0, 1), listOf("shamrock"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x2618, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F340), 0, 1), listOf("four_leaf_clover"), false),
AndroidxEmoji2(String(intArrayOf(0x1F341), 0, 1), listOf("maple_leaf"), false),
AndroidxEmoji2(String(intArrayOf(0x1F342), 0, 1), listOf("fallen_leaf"), false),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,30 @@ internal object FlagsCategoryChunk0 {
AndroidxEmoji2(String(intArrayOf(0x1F6A9), 0, 1), listOf("triangular_flag_on_post"), false),
AndroidxEmoji2(String(intArrayOf(0x1F38C), 0, 1), listOf("crossed_flags"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3F4), 0, 1), listOf("waving_black_flag"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3F3, 0xFE0F), 0, 2), listOf("waving_white_flag"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3F3, 0xFE0F, 0x200D, 0x1F308), 0, 4), listOf("rainbow-flag"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3F3, 0xFE0F, 0x200D, 0x26A7, 0xFE0F), 0, 5), listOf("transgender_flag"), false),
AndroidxEmoji2(String(intArrayOf(0x1F3F4, 0x200D, 0x2620, 0xFE0F), 0, 4), listOf("pirate_flag"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F3F3), 0, 1), listOf("waving_white_flag"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F3F3, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(
String(intArrayOf(0x1F3F3, 0x200D, 0x1F308), 0, 3), listOf("rainbow-flag"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F3F3, 0xFE0F, 0x200D, 0x1F308), 0, 4), emptyList<String>(), false),
),
),
AndroidxEmoji2(
String(intArrayOf(0x1F3F3, 0x200D, 0x26A7), 0, 3), listOf("transgender_flag"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F3F3, 0xFE0F, 0x200D, 0x26A7, 0xFE0F), 0, 5), emptyList<String>(), false),
),
),
AndroidxEmoji2(
String(intArrayOf(0x1F3F4, 0x200D, 0x2620), 0, 3), listOf("pirate_flag"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F3F4, 0x200D, 0x2620, 0xFE0F), 0, 4), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F1E6, 0x1F1E8), 0, 2), listOf("flag-ac"), false),
AndroidxEmoji2(String(intArrayOf(0x1F1E6, 0x1F1E9), 0, 2), listOf("flag-ad"), false),
AndroidxEmoji2(String(intArrayOf(0x1F1E6, 0x1F1EA), 0, 2), listOf("flag-ae"), false),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,12 @@ internal object FoodAndDrinkCategoryChunk0 {
AndroidxEmoji2(String(intArrayOf(0x1F954), 0, 1), listOf("potato"), false),
AndroidxEmoji2(String(intArrayOf(0x1F955), 0, 1), listOf("carrot"), false),
AndroidxEmoji2(String(intArrayOf(0x1F33D), 0, 1), listOf("corn"), false),
AndroidxEmoji2(String(intArrayOf(0x1F336, 0xFE0F), 0, 2), listOf("hot_pepper"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F336), 0, 1), listOf("hot_pepper"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F336, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1FAD1), 0, 1), listOf("bell_pepper"), false),
AndroidxEmoji2(String(intArrayOf(0x1F952), 0, 1), listOf("cucumber"), false),
AndroidxEmoji2(String(intArrayOf(0x1F96C), 0, 1), listOf("leafy_green"), false),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,12 @@ internal object FoodAndDrinkCategoryChunk1 {
AndroidxEmoji2(String(intArrayOf(0x1F9C9), 0, 1), listOf("mate_drink"), false),
AndroidxEmoji2(String(intArrayOf(0x1F9CA), 0, 1), listOf("ice_cube"), false),
AndroidxEmoji2(String(intArrayOf(0x1F962), 0, 1), listOf("chopsticks"), false),
AndroidxEmoji2(String(intArrayOf(0x1F37D, 0xFE0F), 0, 2), listOf("knife_fork_plate"), false),
AndroidxEmoji2(
String(intArrayOf(0x1F37D), 0, 1), listOf("knife_fork_plate"), false,
variants = listOf(
AndroidxEmoji2(String(intArrayOf(0x1F37D, 0xFE0F), 0, 2), emptyList<String>(), false),
),
),
AndroidxEmoji2(String(intArrayOf(0x1F374), 0, 1), listOf("fork_and_knife"), false),
AndroidxEmoji2(String(intArrayOf(0x1F944), 0, 1), listOf("spoon"), false),
AndroidxEmoji2(String(intArrayOf(0x1F52A), 0, 1), listOf("hocho", "knife"), false),
Expand Down
Loading

0 comments on commit 6bd9008

Please sign in to comment.