emoji plugin: support nbsp in messages
This commit is contained in:
@@ -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++)
|
||||
|
||||
@@ -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("<img=10>");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEmojiUpdateMessage()
|
||||
{
|
||||
String PARTY_POPPER = "<img=" + (-1 + Emoji.getEmoji("@@@").ordinal()) + '>';
|
||||
String OPEN_MOUTH = "<img=" + (-1 + Emoji.getEmoji(":O").ordinal()) + '>';
|
||||
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@@@"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user