chat notifications: Prevent localPlayer highlights and notifications (#13244)

This commit is contained in:
Broooklyn
2021-02-28 14:22:53 -05:00
committed by GitHub
parent 2d5d490b50
commit e27636639e
2 changed files with 58 additions and 1 deletions

View File

@@ -44,7 +44,10 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.lenient;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.mockito.junit.MockitoJUnitRunner;
@@ -286,4 +289,46 @@ public class ChatNotificationsPluginTest
// set value uses our player name, which has nbsp replaced
verify(messageNode).setValue("<col=005f00><colHIGHLIGHT><u>Logic Knot</u><col=005f00> received a drop: Adamant longsword</col>");
}
}
@Test
public void testLocalPlayerSelfMention()
{
final String localPlayerName = "Broo klyn";
MessageNode messageNode = mock(MessageNode.class);
Player localPlayer = mock(Player.class);
when(client.getLocalPlayer()).thenReturn(localPlayer);
when(localPlayer.getName()).thenReturn(localPlayerName);
lenient().when(config.highlightOwnName()).thenReturn(true);
lenient().when(messageNode.getValue()).thenReturn("Spread love it's the Broo klyn way");
ChatMessage chatMessage = new ChatMessage();
chatMessage.setType(ChatMessageType.PUBLICCHAT);
chatMessage.setName("Broo\u00a0klyn");
chatMessage.setMessageNode(messageNode);
chatNotificationsPlugin.onChatMessage(chatMessage);
verify(messageNode, times(0)).setValue(any());
}
@Test
public void testPrivateChatOutReturn()
{
MessageNode messageNode = mock(MessageNode.class);
lenient().when(config.highlightWordsString()).thenReturn("Brooklyn");
lenient().when(messageNode.getValue()).thenReturn("Spread love it's the Brooklyn way");
ChatMessage chatMessage = new ChatMessage();
chatMessage.setType(ChatMessageType.PRIVATECHATOUT);
chatMessage.setMessageNode(messageNode);
chatNotificationsPlugin.startUp();
chatNotificationsPlugin.onChatMessage(chatMessage);
verify(messageNode, times(0)).setValue(any());
}
}