mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-23 10:39:05 +00:00
Add smart tab completion for non-Bungee channels.
This commit is contained in:
parent
c4c41336d7
commit
9d42262e0f
@ -128,12 +128,17 @@ public class Mute extends MineverseCommand {
|
|||||||
return completions;
|
return completions;
|
||||||
}
|
}
|
||||||
if(args.length == 2) {
|
if(args.length == 2) {
|
||||||
if(ChatChannel.isChannel(args[0]) && ChatChannel.getChannel(args[0]).getBungee()) {
|
if(ChatChannel.isChannel(args[0])) {
|
||||||
StringUtil.copyPartialMatches(args[1], MineverseChat.networkPlayerNames, completions);
|
ChatChannel chatChannelObj = ChatChannel.getChannel(args[0]);
|
||||||
|
if(chatChannelObj.getBungee()) {
|
||||||
|
StringUtil.copyPartialMatches(args[1], MineverseChat.networkPlayerNames, completions);
|
||||||
|
Collections.sort(completions);
|
||||||
|
return completions;
|
||||||
|
}
|
||||||
|
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> !mcp.isMuted(chatChannelObj.getName())).map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||||
Collections.sort(completions);
|
Collections.sort(completions);
|
||||||
return completions;
|
return completions;
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
if(args.length == 3) {
|
if(args.length == 3) {
|
||||||
StringUtil.copyPartialMatches(args[2], COMMON_MUTE_TIMES, completions);
|
StringUtil.copyPartialMatches(args[2], COMMON_MUTE_TIMES, completions);
|
||||||
|
@ -81,12 +81,17 @@ public class Unmute extends MineverseCommand {
|
|||||||
return completions;
|
return completions;
|
||||||
}
|
}
|
||||||
if(args.length == 2) {
|
if(args.length == 2) {
|
||||||
if(ChatChannel.isChannel(args[0]) && ChatChannel.getChannel(args[0]).getBungee()) {
|
if(ChatChannel.isChannel(args[0])) {
|
||||||
StringUtil.copyPartialMatches(args[1], MineverseChat.networkPlayerNames, completions);
|
ChatChannel chatChannelObj = ChatChannel.getChannel(args[0]);
|
||||||
|
if(chatChannelObj.getBungee()) {
|
||||||
|
StringUtil.copyPartialMatches(args[1], MineverseChat.networkPlayerNames, completions);
|
||||||
|
Collections.sort(completions);
|
||||||
|
return completions;
|
||||||
|
}
|
||||||
|
StringUtil.copyPartialMatches(args[1], MineverseChatAPI.getOnlineMineverseChatPlayers().stream().filter(mcp -> mcp.isMuted(chatChannelObj.getName())).map(MineverseChatPlayer::getName).collect(Collectors.toList()), completions);
|
||||||
Collections.sort(completions);
|
Collections.sort(completions);
|
||||||
return completions;
|
return completions;
|
||||||
}
|
}
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,62 @@
|
|||||||
|
package mineverse.Aust1n46.chat.listeners;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.command.ConsoleCommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.powermock.api.mockito.PowerMockito;
|
||||||
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||||
|
import org.powermock.modules.junit4.PowerMockRunner;
|
||||||
|
|
||||||
|
import mineverse.Aust1n46.chat.MineverseChat;
|
||||||
|
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
|
||||||
|
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
||||||
|
import mineverse.Aust1n46.chat.listeners.LoginListener;;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tests {@link LoginListener}.
|
||||||
|
*/
|
||||||
|
@RunWith(PowerMockRunner.class)
|
||||||
|
@PrepareForTest({ MineverseChat.class, MineverseChatAPI.class, Bukkit.class})
|
||||||
|
public class LoginListenerTest {
|
||||||
|
private MineverseChat mockPlugin;
|
||||||
|
private Player mockPlayer;
|
||||||
|
private MineverseChatPlayer mockMCP;
|
||||||
|
private ConsoleCommandSender mockConsoleSender;
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUp() {
|
||||||
|
mockPlugin = Mockito.mock(MineverseChat.class);
|
||||||
|
mockPlayer = Mockito.mock(Player.class);
|
||||||
|
mockMCP = Mockito.mock(MineverseChatPlayer.class);
|
||||||
|
mockConsoleSender = Mockito.mock(ConsoleCommandSender.class);
|
||||||
|
|
||||||
|
PowerMockito.mockStatic(MineverseChat.class);
|
||||||
|
PowerMockito.when(MineverseChat.getInstance()).thenReturn(mockPlugin);
|
||||||
|
|
||||||
|
PowerMockito.mockStatic(MineverseChatAPI.class);
|
||||||
|
PowerMockito.when(MineverseChatAPI.getMineverseChatPlayer(Mockito.any(Player.class))).thenReturn(mockMCP);
|
||||||
|
|
||||||
|
PowerMockito.mockStatic(Bukkit.class);
|
||||||
|
PowerMockito.when(Bukkit.getConsoleSender()).thenReturn(mockConsoleSender);
|
||||||
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() {
|
||||||
|
mockPlugin = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testLoginWithNameChange() throws Exception {
|
||||||
|
Mockito.when(mockPlayer.getName()).thenReturn("NewName");
|
||||||
|
Mockito.when(mockMCP.getName()).thenReturn("OldName");
|
||||||
|
Mockito.when(mockPlayer.getDisplayName()).thenReturn("OldName");
|
||||||
|
LoginListener testLoginListener = new LoginListener();
|
||||||
|
testLoginListener.handleNameChange(mockMCP, mockPlayer);
|
||||||
|
Mockito.verify(mockMCP, Mockito.times(1)).setNickname("NewName");
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user