Merge branch 'master' of https://github.com/runelite/runelite into upstream-2122021

 Conflicts:
	cache-client/pom.xml
	cache-updater/pom.xml
	cache/pom.xml
	http-api/pom.xml
	http-service/pom.xml
	pom.xml
	runelite-api/pom.xml
	runelite-api/src/main/java/net/runelite/api/MenuAction.java
	runelite-client/pom.xml
	runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java
	runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java
	runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java
	runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldSwitcherPanel.java
	runelite-jshell/pom.xml
	runelite-script-assembler-plugin/pom.xml
This commit is contained in:
Justin
2021-12-02 09:06:51 +11:00
32 changed files with 1251 additions and 1010 deletions

View File

@@ -31,14 +31,16 @@ import com.google.inject.testing.fieldbinder.BoundFieldModule;
import java.awt.Color;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.IterableHashTable;
import net.runelite.api.MessageNode;
import net.runelite.api.Player;
import net.runelite.api.events.ChatMessage;
import net.runelite.client.config.ChatColorConfig;
import net.runelite.client.events.ConfigChanged;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.mockito.ArgumentMatchers.anyLong;
import org.mockito.Mock;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -59,12 +61,39 @@ public class ChatMessageManagerTest
@Inject
private ChatMessageManager chatMessageManager;
private String[] sstack;
private int[] istack;
@Before
public void before()
{
Guice.createInjector(BoundFieldModule.of(this)).injectMembers(this);
}
private void setupVm(ChatMessageType type, String name, String message)
{
MessageNode messageNode = mock(MessageNode.class);
when(messageNode.getType()).thenReturn(type);
IterableHashTable<MessageNode> tbl = mock(IterableHashTable.class);
when(tbl.get(anyLong())).thenReturn(messageNode);
when(client.getMessages()).thenReturn(tbl);
sstack = new String[]{
"",
name,
message,
""
};
istack = new int[]{
1
};
when(client.getStringStack()).thenReturn(sstack);
when(client.getStringStackSize()).thenReturn(sstack.length);
when(client.getIntStack()).thenReturn(istack);
when(client.getIntStackSize()).thenReturn(istack.length);
}
@Test
public void testMessageRecoloring()
{
@@ -75,16 +104,10 @@ public class ChatMessageManagerTest
configChanged.setGroup("textrecolor");
chatMessageManager.onConfigChanged(configChanged);
ChatMessage chatMessage = new ChatMessage();
chatMessage.setType(ChatMessageType.GAMEMESSAGE);
setupVm(ChatMessageType.GAMEMESSAGE, "", "Your dodgy necklace protects you. It has <col=ff0000>1</col> charge left.");
chatMessageManager.colorChatMessage();
MessageNode messageNode = mock(MessageNode.class);
chatMessage.setMessageNode(messageNode);
when(messageNode.getValue()).thenReturn("Your dodgy necklace protects you. It has <col=ff0000>1</col> charge left.");
chatMessageManager.onChatMessage(chatMessage);
verify(messageNode).setValue("<col=b20000>Your dodgy necklace protects you. It has <col=ff0000>1<col=b20000> charge left.</col>");
assertEquals("<col=b20000>Your dodgy necklace protects you. It has <col=ff0000>1<col=b20000> charge left.</col>", sstack[2]);
}
@Test
@@ -95,14 +118,7 @@ public class ChatMessageManagerTest
when(chatColorConfig.opaquePublicFriendUsernames()).thenReturn(Color.decode("#b20000"));
// Setup message
ChatMessage chatMessage = new ChatMessage();
chatMessage.setType(ChatMessageType.PUBLICCHAT);
chatMessage.setName(friendName);
MessageNode messageNode = mock(MessageNode.class);
chatMessage.setMessageNode(messageNode);
when(messageNode.getName()).thenReturn(friendName);
setupVm(ChatMessageType.PUBLICCHAT, friendName, "");
// Setup friend checking
Player localPlayer = mock(Player.class);
@@ -111,9 +127,9 @@ public class ChatMessageManagerTest
when(client.getLocalPlayer()).thenReturn(localPlayer);
when(localPlayer.getName()).thenReturn(localPlayerName);
chatMessageManager.onChatMessage(chatMessage);
chatMessageManager.colorChatMessage();
verify(messageNode).setName("<col=b20000>" + friendName + "</col>");
assertEquals("<col=b20000>" + friendName + "</col>", sstack[1]);
}
@Test
@@ -125,14 +141,7 @@ public class ChatMessageManagerTest
when(chatColorConfig.opaquePublicFriendUsernames()).thenReturn(Color.decode("#b20000"));
// Setup message
ChatMessage chatMessage = new ChatMessage();
chatMessage.setType(ChatMessageType.PUBLICCHAT);
chatMessage.setName(friendName);
MessageNode messageNode = mock(MessageNode.class);
chatMessage.setMessageNode(messageNode);
when(messageNode.getName()).thenReturn(friendName);
setupVm(ChatMessageType.PUBLICCHAT, friendName, "");
// Setup friend checking
Player localPlayer = mock(Player.class);
@@ -141,9 +150,9 @@ public class ChatMessageManagerTest
when(client.getLocalPlayer()).thenReturn(localPlayer);
when(localPlayer.getName()).thenReturn(localPlayerName);
chatMessageManager.onChatMessage(chatMessage);
chatMessageManager.colorChatMessage();
verify(messageNode).setName("<col=b20000>" + friendName + "</col>");
assertEquals("<col=b20000>" + friendName + "</col>", sstack[1]);
}
@Test