From 1beff8fb5cf2c035bd9b356bfabfbb099a62b056 Mon Sep 17 00:00:00 2001 From: Yuichiro Kinoshita Date: Sun, 24 Dec 2023 14:11:47 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E3=83=86=E3=82=B9=E3=83=88=E3=82=B1?= =?UTF-8?q?=E3=83=BC=E3=82=B9=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../milktea/model/note/reaction/Reaction.kt | 11 +++++++++++ .../milktea/model/note/reaction/ReactionTest.kt | 9 +++++++++ 2 files changed, 20 insertions(+) diff --git a/modules/model/src/main/java/net/pantasystem/milktea/model/note/reaction/Reaction.kt b/modules/model/src/main/java/net/pantasystem/milktea/model/note/reaction/Reaction.kt index 0d0b59b9f1..524935c68e 100644 --- a/modules/model/src/main/java/net/pantasystem/milktea/model/note/reaction/Reaction.kt +++ b/modules/model/src/main/java/net/pantasystem/milktea/model/note/reaction/Reaction.kt @@ -36,4 +36,15 @@ data class Reaction(val reaction: String) { && reaction.startsWith(":") && reaction.endsWith(":") } + + fun isLegacyFormat(): Boolean { + return LegacyReaction.reactionMap.containsKey(reaction) + } + + fun getLegacyEmoji(): String? { + if (isLegacyFormat()) { + return LegacyReaction.reactionMap[reaction] + } + return null + } } \ No newline at end of file diff --git a/modules/model/src/test/java/net/pantasystem/milktea/model/note/reaction/ReactionTest.kt b/modules/model/src/test/java/net/pantasystem/milktea/model/note/reaction/ReactionTest.kt index f8602065a8..017fa35fdd 100644 --- a/modules/model/src/test/java/net/pantasystem/milktea/model/note/reaction/ReactionTest.kt +++ b/modules/model/src/test/java/net/pantasystem/milktea/model/note/reaction/ReactionTest.kt @@ -100,4 +100,13 @@ class ReactionTest { val reaction = Reaction("name@.") Assertions.assertEquals("name", reaction.getNameAndHost()) } + + @Test + fun isCustomEmojiFormat_GiveLegacyEmoji() { + LegacyReaction.defaultReaction.forEach { + Assertions.assertFalse(Reaction(it).isCustomEmojiFormat()) + Assertions.assertTrue(Reaction(it).isLegacyFormat()) + Assertions.assertEquals(LegacyReaction.reactionMap[it], Reaction(it).getLegacyEmoji()) + } + } } \ No newline at end of file