diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/emojis/EmojiPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/emojis/EmojiPlugin.java
index 21eb1eab10..68b97817c3 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/emojis/EmojiPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/emojis/EmojiPlugin.java
@@ -55,6 +55,7 @@ import net.runelite.client.util.ImageUtil;
public class EmojiPlugin extends Plugin
{
private static final Pattern TAG_REGEXP = Pattern.compile("<[^>]*>");
+ private static final Pattern WHITESPACE_REGEXP = Pattern.compile("[\\s\\u00A0]");
@Inject
private Client client;
@@ -166,9 +167,9 @@ public class EmojiPlugin extends Plugin
}
@Nullable
- private String updateMessage(final String message)
+ String updateMessage(final String message)
{
- final String[] messageWords = message.split(" ");
+ final String[] messageWords = WHITESPACE_REGEXP.split(message);
boolean editedMessage = false;
for (int i = 0; i < messageWords.length; i++)
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/emojis/EmojiPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/emojis/EmojiPluginTest.java
index 3427246946..5fd260b110 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/emojis/EmojiPluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/emojis/EmojiPluginTest.java
@@ -44,6 +44,8 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.mockito.runners.MockitoJUnitRunner;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
@RunWith(MockitoJUnitRunner.class)
public class EmojiPluginTest
@@ -113,4 +115,17 @@ public class EmojiPluginTest
verify(messageNode).setRuneLiteFormatMessage("
");
}
+
+ @Test
+ public void testEmojiUpdateMessage()
+ {
+ String PARTY_POPPER = "
';
+ String OPEN_MOUTH = "
';
+ assertNull(emojiPlugin.updateMessage("@@@@@"));
+ assertEquals(PARTY_POPPER, emojiPlugin.updateMessage("@@@"));
+ assertEquals(PARTY_POPPER + ' ' + PARTY_POPPER, emojiPlugin.updateMessage("@@@ @@@"));
+ assertEquals(PARTY_POPPER + ' ' + OPEN_MOUTH, emojiPlugin.updateMessage("@@@\u00A0:O"));
+ assertEquals(PARTY_POPPER + ' ' + OPEN_MOUTH + ' ' + PARTY_POPPER, emojiPlugin.updateMessage("@@@\u00A0:O @@@"));
+ assertEquals(PARTY_POPPER + " Hello World " + PARTY_POPPER, emojiPlugin.updateMessage("@@@\u00A0Hello World\u00A0@@@"));
+ }
}
\ No newline at end of file