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
|
public class EmojiPlugin extends Plugin
|
||||||
{
|
{
|
||||||
private static final Pattern TAG_REGEXP = Pattern.compile("<[^>]*>");
|
private static final Pattern TAG_REGEXP = Pattern.compile("<[^>]*>");
|
||||||
|
private static final Pattern WHITESPACE_REGEXP = Pattern.compile("[\\s\\u00A0]");
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
@@ -166,9 +167,9 @@ public class EmojiPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@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;
|
boolean editedMessage = false;
|
||||||
for (int i = 0; i < messageWords.length; i++)
|
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.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import org.mockito.runners.MockitoJUnitRunner;
|
import org.mockito.runners.MockitoJUnitRunner;
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNull;
|
||||||
|
|
||||||
@RunWith(MockitoJUnitRunner.class)
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
public class EmojiPluginTest
|
public class EmojiPluginTest
|
||||||
@@ -113,4 +115,17 @@ public class EmojiPluginTest
|
|||||||
|
|
||||||
verify(messageNode).setRuneLiteFormatMessage("<img=10>");
|
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