瀏覽代碼

Convert some commands to use output events.

pull/614/head
Chris Smith 8 年之前
父節點
當前提交
2204bf0570

+ 0
- 1
res/com/dmdirc/ui/messages/format.yml 查看文件

@@ -217,7 +217,6 @@ CommandOutputEvent:
217 217
 #  commandOutput=%1$s
218 218
 #  actionTooLong=Warning: action too long to be sent
219 219
 #  tabCompletion=14Multiple possibilities: %1$s
220
-#  commandUsage=7Usage: %1$s%2$s %3$s
221 220
 #  numeric_006=%4$s
222 221
 #  numeric_007=%4$s
223 222
 #  numeric_015=%4$s

+ 37
- 3
src/com/dmdirc/commandparser/commands/Command.java 查看文件

@@ -24,6 +24,8 @@ package com.dmdirc.commandparser.commands;
24 24
 
25 25
 import com.dmdirc.commandparser.CommandArguments;
26 26
 import com.dmdirc.commandparser.commands.context.CommandContext;
27
+import com.dmdirc.events.CommandErrorEvent;
28
+import com.dmdirc.events.CommandOutputEvent;
27 29
 import com.dmdirc.interfaces.CommandController;
28 30
 import com.dmdirc.interfaces.WindowModel;
29 31
 import com.dmdirc.ui.messages.Styliser;
@@ -37,8 +39,10 @@ import javax.annotation.Nullable;
37 39
 public abstract class Command {
38 40
 
39 41
     /** The format name used for command output. */
42
+    @Deprecated
40 43
     protected static final String FORMAT_OUTPUT = "commandOutput";
41 44
     /** The format name used for command errors. */
45
+    @Deprecated
42 46
     protected static final String FORMAT_ERROR = "commandError";
43 47
     /** The controller this command is associated with. */
44 48
     private final CommandController controller;
@@ -59,6 +63,7 @@ public abstract class Command {
59 63
      * @param type     The type of message to send
60 64
      * @param args     The arguments of the message
61 65
      */
66
+    @Deprecated
62 67
     protected final void sendLine(@Nullable final WindowModel target,
63 68
             final boolean isSilent, final String type, final Object... args) {
64 69
         if (!isSilent && target != null) {
@@ -66,6 +71,34 @@ public abstract class Command {
66 71
         }
67 72
     }
68 73
 
74
+    /**
75
+     * Sends an output line, if appropriate, to the specified target.
76
+     *
77
+     * @param target   The command window to send the line to
78
+     * @param isSilent Whether this command is being silenced or not
79
+     * @param message  The output to send
80
+     */
81
+    protected final void showOutput(@Nullable final WindowModel target,
82
+            final boolean isSilent, final String message) {
83
+        if (!isSilent && target != null) {
84
+            target.getEventBus().publishAsync(new CommandOutputEvent(target, message));
85
+        }
86
+    }
87
+
88
+    /**
89
+     * Sends an error line, if appropriate, to the specified target.
90
+     *
91
+     * @param target   The command window to send the line to
92
+     * @param isSilent Whether this command is being silenced or not
93
+     * @param message  The error message to send
94
+     */
95
+    protected final void showError(@Nullable final WindowModel target,
96
+            final boolean isSilent, final String message) {
97
+        if (!isSilent && target != null) {
98
+            target.getEventBus().publishAsync(new CommandErrorEvent(target, message));
99
+        }
100
+    }
101
+
69 102
     /**
70 103
      * Sends a usage line, if appropriate, to the specified target.
71 104
      *
@@ -76,9 +109,10 @@ public abstract class Command {
76 109
      */
77 110
     protected final void showUsage(@Nullable final WindowModel target,
78 111
             final boolean isSilent, final String name, final String args) {
79
-        sendLine(target, isSilent, "commandUsage",
80
-                controller.getCommandChar(),
81
-                name, args);
112
+        if (!isSilent && target != null) {
113
+            target.getEventBus().publishAsync(new CommandErrorEvent(target,
114
+                    "Usage: " + controller.getCommandChar() + name + ' ' + args));
115
+        }
82 116
     }
83 117
 
84 118
     /**

+ 1
- 2
src/com/dmdirc/commandparser/commands/channel/KickReason.java 查看文件

@@ -82,8 +82,7 @@ public class KickReason extends Command implements IntelligentCommand {
82 82
                     ? Optional.of(args.getArgumentsAsString(1))
83 83
                     : Optional.empty());
84 84
         } else {
85
-            sendLine(origin, args.isSilent(), FORMAT_ERROR,
86
-                    "User not found: " + args.getArguments()[0]);
85
+            showError(origin, args.isSilent(), "User not found: " + args.getArguments()[0]);
87 86
         }
88 87
     }
89 88
 

+ 4
- 4
src/com/dmdirc/commandparser/commands/channel/SetNickColour.java 查看文件

@@ -84,8 +84,8 @@ public class SetNickColour extends Command implements IntelligentCommand {
84 84
                 .getUser(args.getArguments()[0]));
85 85
 
86 86
         if (!target.isPresent()) {
87
-            sendLine(origin, args.isSilent(), FORMAT_ERROR, "No such nickname ("
88
-                    + args.getArguments()[0] + ")!");
87
+            showError(origin, args.isSilent(),
88
+                    "No such nickname (" + args.getArguments()[0] + ")!");
89 89
         } else if (args.getArguments().length == 1) {
90 90
             // We're removing the colour
91 91
             target.get().removeDisplayProperty(DisplayProperty.FOREGROUND_COLOUR);
@@ -95,8 +95,8 @@ public class SetNickColour extends Command implements IntelligentCommand {
95 95
             final Colour newColour = colourManagerFactory.getColourManager(origin.getConfigManager())
96 96
                     .getColourFromString(args.getArguments()[1], null);
97 97
             if (newColour == null) {
98
-                sendLine(origin, args.isSilent(), FORMAT_ERROR, "Invalid colour specified ("
99
-                        + args.getArguments()[1] + ").");
98
+                showError(origin, args.isSilent(),
99
+                        "Invalid colour specified (" + args.getArguments()[1] + ").");
100 100
                 return;
101 101
             }
102 102
 

+ 4
- 7
src/com/dmdirc/commandparser/commands/global/AliasCommand.java 查看文件

@@ -88,11 +88,9 @@ public class AliasCommand extends Command implements IntelligentCommand {
88 88
         if ("--remove".equalsIgnoreCase(args.getArguments()[0])) {
89 89
             final String name = removeCommandChar(args.getArguments()[1]);
90 90
             if (doRemove(name)) {
91
-                sendLine(origin, args.isSilent(), FORMAT_OUTPUT, "Alias '"
92
-                        + name + "' removed.");
91
+                showOutput(origin, args.isSilent(), "Alias '" + name + "' removed.");
93 92
             } else {
94
-                sendLine(origin, args.isSilent(), FORMAT_ERROR, "Alias '"
95
-                        + name + "' not found.");
93
+                showError(origin, args.isSilent(), "Alias '" + name + "' not found.");
96 94
             }
97 95
 
98 96
             return;
@@ -101,8 +99,7 @@ public class AliasCommand extends Command implements IntelligentCommand {
101 99
         final String name = removeCommandChar(args.getArguments()[0]);
102 100
 
103 101
         if (aliasManager.getAlias(name).isPresent()) {
104
-            sendLine(origin, args.isSilent(), FORMAT_ERROR, "Alias '" + name
105
-                    + "' already exists.");
102
+            showError(origin, args.isSilent(), "Alias '" + name + "' already exists.");
106 103
             return;
107 104
         }
108 105
 
@@ -110,7 +107,7 @@ public class AliasCommand extends Command implements IntelligentCommand {
110 107
                 removeCommandChar(args.getArgumentsAsString(1)));
111 108
         aliasManager.addAlias(myAlias);
112 109
 
113
-        sendLine(origin, args.isSilent(), FORMAT_OUTPUT, "Alias '" + name + "' created.");
110
+        showOutput(origin, args.isSilent(), "Alias '" + name + "' created.");
114 111
     }
115 112
 
116 113
     /**

+ 6
- 4
test/com/dmdirc/commandparser/commands/channel/BanTest.java 查看文件

@@ -23,8 +23,10 @@
23 23
 package com.dmdirc.commandparser.commands.channel;
24 24
 
25 25
 import com.dmdirc.Channel;
26
+import com.dmdirc.DMDircMBassador;
26 27
 import com.dmdirc.commandparser.CommandArguments;
27 28
 import com.dmdirc.commandparser.commands.context.ChannelCommandContext;
29
+import com.dmdirc.events.CommandErrorEvent;
28 30
 import com.dmdirc.interfaces.CommandController;
29 31
 import com.dmdirc.interfaces.Connection;
30 32
 import com.dmdirc.interfaces.GroupChatUser;
@@ -39,9 +41,7 @@ import org.junit.runner.RunWith;
39 41
 import org.mockito.Mock;
40 42
 import org.mockito.runners.MockitoJUnitRunner;
41 43
 
42
-import static org.mockito.Mockito.anyChar;
43
-import static org.mockito.Mockito.anyString;
44
-import static org.mockito.Mockito.eq;
44
+import static org.mockito.Matchers.isA;
45 45
 import static org.mockito.Mockito.verify;
46 46
 import static org.mockito.Mockito.when;
47 47
 
@@ -55,6 +55,7 @@ public class BanTest {
55 55
     @Mock private Channel channel;
56 56
     @Mock private CommandController controller;
57 57
     @Mock private WindowModel container;
58
+    @Mock private DMDircMBassador eventbus;
58 59
     private Ban command;
59 60
 
60 61
     @Before
@@ -67,6 +68,7 @@ public class BanTest {
67 68
         when(channel.getUser(user2)).thenReturn(Optional.empty());
68 69
         when(controller.getCommandChar()).thenReturn('/');
69 70
         when(controller.getSilenceChar()).thenReturn('.');
71
+        when(container.getEventBus()).thenReturn(eventbus);
70 72
         command = new Ban(controller);
71 73
     }
72 74
 
@@ -75,7 +77,7 @@ public class BanTest {
75 77
         command.execute(container, new CommandArguments(controller, "/ban"),
76 78
                 new ChannelCommandContext(null, Ban.INFO, channel));
77 79
 
78
-        verify(container).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
80
+        verify(eventbus).publishAsync(isA(CommandErrorEvent.class));
79 81
     }
80 82
 
81 83
     /** Tests that the ban command uses the correct hostname if given a user. */

+ 12
- 7
test/com/dmdirc/commandparser/commands/channel/KickReasonTest.java 查看文件

@@ -23,8 +23,10 @@
23 23
 package com.dmdirc.commandparser.commands.channel;
24 24
 
25 25
 import com.dmdirc.Channel;
26
+import com.dmdirc.DMDircMBassador;
26 27
 import com.dmdirc.commandparser.CommandArguments;
27 28
 import com.dmdirc.commandparser.commands.context.ChannelCommandContext;
29
+import com.dmdirc.events.CommandErrorEvent;
28 30
 import com.dmdirc.interfaces.CommandController;
29 31
 import com.dmdirc.interfaces.Connection;
30 32
 import com.dmdirc.interfaces.GroupChatUser;
@@ -38,13 +40,13 @@ import java.util.Optional;
38 40
 import org.junit.Before;
39 41
 import org.junit.Test;
40 42
 import org.junit.runner.RunWith;
43
+import org.mockito.ArgumentCaptor;
44
+import org.mockito.Captor;
41 45
 import org.mockito.Mock;
42 46
 import org.mockito.runners.MockitoJUnitRunner;
43 47
 
44
-import static org.mockito.Mockito.anyChar;
45
-import static org.mockito.Mockito.anyString;
46
-import static org.mockito.Mockito.eq;
47
-import static org.mockito.Mockito.matches;
48
+import static org.junit.Assert.assertTrue;
49
+import static org.mockito.Matchers.isA;
48 50
 import static org.mockito.Mockito.verify;
49 51
 import static org.mockito.Mockito.when;
50 52
 
@@ -58,8 +60,10 @@ public class KickReasonTest {
58 60
     @Mock private Channel channel;
59 61
     @Mock private CommandController controller;
60 62
     @Mock private WindowModel container;
63
+    @Mock private DMDircMBassador eventbus;
61 64
     @Mock private ChannelInfo channelInfo;
62 65
     @Mock private AggregateConfigProvider configProvider;
66
+    @Captor private ArgumentCaptor<CommandErrorEvent> errorEventCaptor;
63 67
     private KickReason command;
64 68
 
65 69
     @Before
@@ -75,6 +79,7 @@ public class KickReasonTest {
75 79
         when(channel.getUser(user2)).thenReturn(Optional.empty());
76 80
         when(controller.getCommandChar()).thenReturn('/');
77 81
         when(controller.getSilenceChar()).thenReturn('.');
82
+        when(container.getEventBus()).thenReturn(eventbus);
78 83
         command = new KickReason(controller);
79 84
     }
80 85
 
@@ -82,8 +87,7 @@ public class KickReasonTest {
82 87
     public void testUsage() {
83 88
         command.execute(container, new CommandArguments(controller, "/kick"),
84 89
                 new ChannelCommandContext(null, KickReason.INFO, channel));
85
-
86
-        verify(container).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
90
+        verify(eventbus).publishAsync(isA(CommandErrorEvent.class));
87 91
     }
88 92
 
89 93
     @Test
@@ -91,7 +95,8 @@ public class KickReasonTest {
91 95
         command.execute(container, new CommandArguments(controller, "/kick user1"),
92 96
                 new ChannelCommandContext(null, KickReason.INFO, channel));
93 97
 
94
-        verify(container).addLine(eq("commandError"), matches(".*user1"));
98
+        verify(eventbus).publishAsync(errorEventCaptor.capture());
99
+        assertTrue(errorEventCaptor.getValue().getMessage().matches(".*user1"));
95 100
     }
96 101
 
97 102
     @Test

+ 14
- 7
test/com/dmdirc/commandparser/commands/channel/SetNickColourTest.java 查看文件

@@ -22,8 +22,10 @@
22 22
 package com.dmdirc.commandparser.commands.channel;
23 23
 
24 24
 import com.dmdirc.Channel;
25
+import com.dmdirc.DMDircMBassador;
25 26
 import com.dmdirc.commandparser.CommandArguments;
26 27
 import com.dmdirc.commandparser.commands.context.ChannelCommandContext;
28
+import com.dmdirc.events.CommandErrorEvent;
27 29
 import com.dmdirc.events.DisplayProperty;
28 30
 import com.dmdirc.interfaces.CommandController;
29 31
 import com.dmdirc.interfaces.Connection;
@@ -39,12 +41,14 @@ import java.util.Optional;
39 41
 import org.junit.Before;
40 42
 import org.junit.Test;
41 43
 import org.junit.runner.RunWith;
44
+import org.mockito.ArgumentCaptor;
45
+import org.mockito.Captor;
42 46
 import org.mockito.Mock;
43 47
 import org.mockito.runners.MockitoJUnitRunner;
44 48
 
49
+import static org.junit.Assert.assertEquals;
45 50
 import static org.mockito.Matchers.any;
46
-import static org.mockito.Mockito.anyChar;
47
-import static org.mockito.Mockito.anyString;
51
+import static org.mockito.Matchers.isA;
48 52
 import static org.mockito.Mockito.eq;
49 53
 import static org.mockito.Mockito.never;
50 54
 import static org.mockito.Mockito.verify;
@@ -62,6 +66,8 @@ public class SetNickColourTest {
62 66
     @Mock private ColourManager colourManager;
63 67
     @Mock private CommandController controller;
64 68
     @Mock private WindowModel tiw;
69
+    @Mock private DMDircMBassador eventbus;
70
+    @Captor private ArgumentCaptor<CommandErrorEvent> errorEventCaptor;
65 71
     private SetNickColour command;
66 72
 
67 73
     @Before
@@ -76,14 +82,14 @@ public class SetNickColourTest {
76 82
         when(channel.getUser(user2)).thenReturn(Optional.empty());
77 83
         when(colourManagerFactory.getColourManager(any())).thenReturn(colourManager);
78 84
         when(colourManager.getColourFromString(eq("4"), any())).thenReturn(Colour.RED);
85
+        when(tiw.getEventBus()).thenReturn(eventbus);
79 86
     }
80 87
 
81 88
     @Test
82 89
     public void testUsageNoArgs() {
83 90
         command.execute(tiw, new CommandArguments(controller, "/foo"),
84 91
                 new ChannelCommandContext(null, SetNickColour.INFO, channel));
85
-
86
-        verify(tiw).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
92
+        verify(eventbus).publishAsync(isA(CommandErrorEvent.class));
87 93
     }
88 94
 
89 95
     @Test
@@ -100,15 +106,16 @@ public class SetNickColourTest {
100 106
                 new ChannelCommandContext(null, SetNickColour.INFO, channel));
101 107
         verify(channel, never()).refreshClients();
102 108
         verify(groupChatUser, never()).removeDisplayProperty(DisplayProperty.FOREGROUND_COLOUR);
103
-        verify(tiw).addLine(eq("commandError"), eq("No such nickname (foo)!"));
109
+        verify(eventbus).publishAsync(errorEventCaptor.capture());
110
+        assertEquals("No such nickname (foo)!", errorEventCaptor.getValue().getMessage());
104 111
     }
105 112
 
106 113
     @Test
107 114
     public void testUsageInvalidColour() {
108 115
         command.execute(tiw, new CommandArguments(controller, "/foo moo omg"),
109 116
                 new ChannelCommandContext(null, SetNickColour.INFO, channel));
110
-
111
-        verify(tiw).addLine(eq("commandError"), eq("Invalid colour specified (omg)."));
117
+        verify(eventbus).publishAsync(errorEventCaptor.capture());
118
+        assertEquals("Invalid colour specified (omg).", errorEventCaptor.getValue().getMessage());
112 119
     }
113 120
 
114 121
     @Test

+ 6
- 5
test/com/dmdirc/commandparser/commands/chat/MeTest.java 查看文件

@@ -21,8 +21,10 @@
21 21
  */
22 22
 package com.dmdirc.commandparser.commands.chat;
23 23
 
24
+import com.dmdirc.DMDircMBassador;
24 25
 import com.dmdirc.commandparser.CommandArguments;
25 26
 import com.dmdirc.commandparser.commands.context.ChatCommandContext;
27
+import com.dmdirc.events.CommandErrorEvent;
26 28
 import com.dmdirc.interfaces.Chat;
27 29
 import com.dmdirc.interfaces.CommandController;
28 30
 import com.dmdirc.interfaces.WindowModel;
@@ -33,9 +35,7 @@ import org.junit.runner.RunWith;
33 35
 import org.mockito.Mock;
34 36
 import org.mockito.runners.MockitoJUnitRunner;
35 37
 
36
-import static org.mockito.Mockito.anyChar;
37
-import static org.mockito.Mockito.anyString;
38
-import static org.mockito.Mockito.eq;
38
+import static org.mockito.Matchers.isA;
39 39
 import static org.mockito.Mockito.verify;
40 40
 import static org.mockito.Mockito.when;
41 41
 
@@ -44,12 +44,14 @@ public class MeTest {
44 44
 
45 45
     @Mock private Chat chat;
46 46
     @Mock private WindowModel frameContainer;
47
+    @Mock private DMDircMBassador eventbus;
47 48
     @Mock private CommandController controller;
48 49
     private Me command;
49 50
 
50 51
     @Before
51 52
     public void setUp() {
52 53
         when(chat.getWindowModel()).thenReturn(frameContainer);
54
+        when(frameContainer.getEventBus()).thenReturn(eventbus);
53 55
         command = new Me(controller);
54 56
     }
55 57
 
@@ -57,8 +59,7 @@ public class MeTest {
57 59
     public void testUsage() {
58 60
         command.execute(frameContainer, new CommandArguments(controller, "/foo"),
59 61
                 new ChatCommandContext(null, Me.INFO, chat));
60
-
61
-        verify(frameContainer).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
62
+        verify(eventbus).publishAsync(isA(CommandErrorEvent.class));
62 63
     }
63 64
 
64 65
     @Test

+ 7
- 5
test/com/dmdirc/commandparser/commands/global/AliasCommandTest.java 查看文件

@@ -21,10 +21,12 @@
21 21
  */
22 22
 package com.dmdirc.commandparser.commands.global;
23 23
 
24
+import com.dmdirc.DMDircMBassador;
24 25
 import com.dmdirc.commandparser.CommandArguments;
25 26
 import com.dmdirc.commandparser.aliases.AliasFactory;
26 27
 import com.dmdirc.commandparser.aliases.AliasManager;
27 28
 import com.dmdirc.commandparser.commands.context.CommandContext;
29
+import com.dmdirc.events.CommandErrorEvent;
28 30
 import com.dmdirc.interfaces.CommandController;
29 31
 import com.dmdirc.interfaces.WindowModel;
30 32
 import com.dmdirc.ui.input.TabCompleterUtils;
@@ -35,9 +37,7 @@ import org.junit.runner.RunWith;
35 37
 import org.mockito.Mock;
36 38
 import org.mockito.runners.MockitoJUnitRunner;
37 39
 
38
-import static org.mockito.Matchers.anyChar;
39
-import static org.mockito.Matchers.anyString;
40
-import static org.mockito.Matchers.eq;
40
+import static org.mockito.Matchers.isA;
41 41
 import static org.mockito.Mockito.verify;
42 42
 import static org.mockito.Mockito.when;
43 43
 
@@ -49,6 +49,7 @@ public class AliasCommandTest {
49 49
     @Mock private CommandController controller;
50 50
     @Mock private TabCompleterUtils tabCompleterUtils;
51 51
     @Mock private WindowModel tiw;
52
+    @Mock private DMDircMBassador eventbus;
52 53
     private AliasCommand command;
53 54
 
54 55
     @Before
@@ -56,6 +57,7 @@ public class AliasCommandTest {
56 57
         command = new AliasCommand(controller, aliasFactory, aliasManager, tabCompleterUtils);
57 58
         when(controller.getCommandChar()).thenReturn('/');
58 59
         when(controller.getSilenceChar()).thenReturn('.');
60
+        when(tiw.getEventBus()).thenReturn(eventbus);
59 61
     }
60 62
 
61 63
     @Test
@@ -63,7 +65,7 @@ public class AliasCommandTest {
63 65
         command.execute(tiw, new CommandArguments(controller, "/foo"),
64 66
                 new CommandContext(null, AliasCommand.INFO));
65 67
 
66
-        verify(tiw).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
68
+        verify(eventbus).publishAsync(isA(CommandErrorEvent.class));
67 69
     }
68 70
 
69 71
     @Test
@@ -71,7 +73,7 @@ public class AliasCommandTest {
71 73
         command.execute(tiw, new CommandArguments(controller, "/foo --remove"),
72 74
                 new CommandContext(null, AliasCommand.INFO));
73 75
 
74
-        verify(tiw).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
76
+        verify(eventbus).publishAsync(isA(CommandErrorEvent.class));
75 77
     }
76 78
 
77 79
 }

+ 8
- 7
test/com/dmdirc/commandparser/commands/global/IfpluginTest.java 查看文件

@@ -21,10 +21,12 @@
21 21
  */
22 22
 package com.dmdirc.commandparser.commands.global;
23 23
 
24
+import com.dmdirc.DMDircMBassador;
24 25
 import com.dmdirc.GlobalWindow;
25 26
 import com.dmdirc.commandparser.CommandArguments;
26 27
 import com.dmdirc.commandparser.commands.context.CommandContext;
27 28
 import com.dmdirc.commandparser.parsers.GlobalCommandParser;
29
+import com.dmdirc.events.CommandErrorEvent;
28 30
 import com.dmdirc.interfaces.CommandController;
29 31
 import com.dmdirc.interfaces.WindowModel;
30 32
 import com.dmdirc.plugins.PluginManager;
@@ -38,10 +40,9 @@ import org.junit.runner.RunWith;
38 40
 import org.mockito.Mock;
39 41
 import org.mockito.runners.MockitoJUnitRunner;
40 42
 
41
-import static org.mockito.Matchers.anyChar;
42
-import static org.mockito.Matchers.anyString;
43
-import static org.mockito.Matchers.eq;
43
+import static org.mockito.Matchers.isA;
44 44
 import static org.mockito.Mockito.verify;
45
+import static org.mockito.Mockito.when;
45 46
 
46 47
 @RunWith(MockitoJUnitRunner.class)
47 48
 public class IfpluginTest {
@@ -52,10 +53,12 @@ public class IfpluginTest {
52 53
     @Mock private CommandController controller;
53 54
     @Mock private PluginManager pluginManager;
54 55
     @Mock private WindowModel tiw;
56
+    @Mock private DMDircMBassador eventbus;
55 57
     private Ifplugin command;
56 58
 
57 59
     @Before
58 60
     public void setUp() {
61
+        when(tiw.getEventBus()).thenReturn(eventbus);
59 62
         command = new Ifplugin(controller, pluginManager, gcpProvider, gwProvider,
60 63
                 tabCompleterUtils);
61 64
     }
@@ -64,16 +67,14 @@ public class IfpluginTest {
64 67
     public void testUsageNoArgs() {
65 68
         command.execute(tiw, new CommandArguments(controller, "/foo"),
66 69
                 new CommandContext(null, Ifplugin.INFO));
67
-
68
-        verify(tiw).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
70
+        verify(eventbus).publishAsync(isA(CommandErrorEvent.class));
69 71
     }
70 72
 
71 73
     @Test
72 74
     public void testUsageOneArg() {
73 75
         command.execute(tiw, new CommandArguments(controller, "/foo bar"),
74 76
                 new CommandContext(null, Ifplugin.INFO));
75
-
76
-        verify(tiw).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
77
+        verify(eventbus).publishAsync(isA(CommandErrorEvent.class));
77 78
     }
78 79
 
79 80
 }

+ 1
- 1
test/com/dmdirc/commandparser/commands/global/NewServerTest.java 查看文件

@@ -106,7 +106,7 @@ public class NewServerTest {
106 106
         command.execute(container, new CommandArguments(controller, "/foo"),
107 107
                 new CommandContext(null, NewServer.INFO));
108 108
 
109
-        verify(container).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
109
+        verify(eventBus).publishAsync(isA(CommandErrorEvent.class));
110 110
     }
111 111
 
112 112
     @Test

+ 1
- 3
test/com/dmdirc/commandparser/commands/server/ChangeServerTest.java 查看文件

@@ -41,8 +41,6 @@ import org.junit.runner.RunWith;
41 41
 import org.mockito.Mock;
42 42
 import org.mockito.runners.MockitoJUnitRunner;
43 43
 
44
-import static org.mockito.Matchers.anyChar;
45
-import static org.mockito.Matchers.anyString;
46 44
 import static org.mockito.Matchers.eq;
47 45
 import static org.mockito.Matchers.isA;
48 46
 import static org.mockito.Matchers.same;
@@ -73,7 +71,7 @@ public class ChangeServerTest {
73 71
         command.execute(tiw, new CommandArguments(controller, "/server"),
74 72
                 new ServerCommandContext(null, ChangeServer.INFO, connection));
75 73
 
76
-        verify(tiw).addLine(eq("commandUsage"), anyChar(), anyString(), anyString());
74
+        verify(eventBus).publishAsync(isA(CommandErrorEvent.class));
77 75
     }
78 76
 
79 77
     @Test

Loading…
取消
儲存