|
@@ -23,6 +23,7 @@
|
23
|
23
|
package com.dmdirc.commandparser.aliases;
|
24
|
24
|
|
25
|
25
|
import com.dmdirc.commandparser.CommandType;
|
|
26
|
+import com.dmdirc.interfaces.CommandController;
|
26
|
27
|
import com.dmdirc.interfaces.ui.AliasDialogModelListener;
|
27
|
28
|
|
28
|
29
|
import com.google.common.base.Optional;
|
|
@@ -52,7 +53,9 @@ public class CoreAliasDialogModelTest {
|
52
|
53
|
@Mock private AliasManager aliasModel;
|
53
|
54
|
@Mock private AliasFactory aliasFactory;
|
54
|
55
|
@Mock private AliasDialogModelListener listener;
|
|
56
|
+ @Mock private CommandController commandController;
|
55
|
57
|
private final Alias alias1 = new Alias(CommandType.TYPE_GLOBAL, "alias1", 0, "");
|
|
58
|
+ private final Alias alias1Edited = new Alias(CommandType.TYPE_GLOBAL, "alias2", 0, "");
|
56
|
59
|
private final Alias alias2Edited = new Alias(CommandType.TYPE_GLOBAL, "alias1", 1, "");
|
57
|
60
|
private final Alias alias2 = new Alias(CommandType.TYPE_GLOBAL, "alias2", 0, "");
|
58
|
61
|
private Set<Alias> aliases;
|
|
@@ -60,6 +63,7 @@ public class CoreAliasDialogModelTest {
|
60
|
63
|
@Before
|
61
|
64
|
public void setupAliases() {
|
62
|
65
|
aliases = new HashSet<>();
|
|
66
|
+ when(commandController.getCommandChar()).thenReturn('/');
|
63
|
67
|
}
|
64
|
68
|
|
65
|
69
|
@Before
|
|
@@ -83,7 +87,8 @@ public class CoreAliasDialogModelTest {
|
83
|
87
|
aliases.add(alias1);
|
84
|
88
|
aliases.add(alias2);
|
85
|
89
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
86
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
90
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
91
|
+ commandController);
|
87
|
92
|
assertEquals(model.getAliases().size(), 2);
|
88
|
93
|
}
|
89
|
94
|
|
|
@@ -92,8 +97,9 @@ public class CoreAliasDialogModelTest {
|
92
|
97
|
aliases.add(alias1);
|
93
|
98
|
aliases.add(alias2);
|
94
|
99
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
95
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
96
|
|
- assertEquals(model.getAlias("alias1").get(), alias1);
|
|
100
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
101
|
+ commandController);
|
|
102
|
+ assertEquals(model.getAlias(alias1.getName()).get(), alias1);
|
97
|
103
|
}
|
98
|
104
|
|
99
|
105
|
@Test
|
|
@@ -101,14 +107,16 @@ public class CoreAliasDialogModelTest {
|
101
|
107
|
aliases.add(alias1);
|
102
|
108
|
aliases.add(alias2);
|
103
|
109
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
104
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
105
|
|
- assertFalse(model.getAlias("alias3").isPresent());
|
|
110
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
111
|
+ commandController);
|
|
112
|
+ assertFalse(model.getAlias("test").isPresent());
|
106
|
113
|
}
|
107
|
114
|
|
108
|
115
|
@Test
|
109
|
116
|
public void testAddAlias() {
|
110
|
117
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
111
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
118
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
119
|
+ commandController);
|
112
|
120
|
assertEquals(model.getAliases().size(), 0);
|
113
|
121
|
model.addAlias(alias1.getName(), alias1.getMinArguments(), alias1.getSubstitution());
|
114
|
122
|
assertEquals(model.getAliases().size(), 1);
|
|
@@ -117,7 +125,8 @@ public class CoreAliasDialogModelTest {
|
117
|
125
|
@Test
|
118
|
126
|
public void testAddAliasListener() {
|
119
|
127
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
120
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
128
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
129
|
+ commandController);
|
121
|
130
|
model.addListener(listener);
|
122
|
131
|
model.addAlias(alias1.getName(), alias1.getMinArguments(), alias1.getSubstitution());
|
123
|
132
|
verify(listener).aliasAdded(alias1);
|
|
@@ -127,44 +136,50 @@ public class CoreAliasDialogModelTest {
|
127
|
136
|
public void testEditAlias() {
|
128
|
137
|
aliases.add(alias1);
|
129
|
138
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
130
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
139
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
140
|
+ commandController);
|
131
|
141
|
assertEquals(model.getAliases().size(), 1);
|
132
|
|
- assertEquals(model.getAlias("alias1").get().getMinArguments(), 0);
|
133
|
|
- model.editAlias("alias1", alias2Edited.getMinArguments(), alias2Edited.getSubstitution());
|
134
|
|
- assertEquals(model.getAlias("alias1").get().getMinArguments(), 1);
|
|
142
|
+ assertEquals(model.getAlias(alias2Edited.getName()).get().getMinArguments(), 0);
|
|
143
|
+ model.editAlias(alias1.getName(), alias2Edited.getMinArguments(), alias2Edited.
|
|
144
|
+ getSubstitution());
|
|
145
|
+ assertEquals(model.getAlias(alias1.getName()).get().getMinArguments(), 1);
|
135
|
146
|
}
|
136
|
147
|
|
137
|
148
|
@Test
|
138
|
149
|
public void testEditAliasListener() {
|
139
|
150
|
aliases.add(alias1);
|
140
|
151
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
141
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
152
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
153
|
+ commandController);
|
142
|
154
|
model.addListener(listener);
|
143
|
|
- model.editAlias("alias1", alias2Edited.getMinArguments(), alias2Edited.getSubstitution());
|
144
|
|
- verify(listener).aliasEdited("alias1");
|
|
155
|
+ model.editAlias(alias1.getName(), alias2Edited.getMinArguments(), alias2Edited.
|
|
156
|
+ getSubstitution());
|
|
157
|
+ verify(listener).aliasEdited(alias1, alias2Edited);
|
145
|
158
|
}
|
146
|
159
|
|
147
|
160
|
@Test
|
148
|
161
|
public void testRenameAlias() {
|
149
|
162
|
aliases.add(alias1);
|
150
|
163
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
151
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
164
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
165
|
+ commandController);
|
152
|
166
|
assertEquals(model.getAliases().size(), 1);
|
153
|
|
- assertEquals(model.getAlias("alias1").get(), alias1);
|
154
|
|
- model.renameAlias("alias1", "alias2");
|
155
|
|
- assertEquals(model.getAlias("alias2").get(), alias2);
|
|
167
|
+ assertEquals(model.getAlias(alias1.getName()).get(), alias1);
|
|
168
|
+ model.renameAlias(alias1.getName(), alias1Edited.getName());
|
|
169
|
+ assertEquals(model.getAlias(alias1Edited.getName()).get(), alias2);
|
156
|
170
|
}
|
157
|
171
|
|
158
|
172
|
@Test
|
159
|
173
|
public void testRenameAliasListener() {
|
160
|
174
|
aliases.add(alias1);
|
161
|
175
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
162
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
176
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
177
|
+ commandController);
|
163
|
178
|
model.addListener(listener);
|
164
|
179
|
assertEquals(model.getAliases().size(), 1);
|
165
|
|
- assertEquals(model.getAlias("alias1").get(), alias1);
|
166
|
|
- model.renameAlias("alias1", "alias2");
|
167
|
|
- verify(listener).aliasRenamed("alias1", "alias2");
|
|
180
|
+ assertEquals(model.getAlias(alias1.getName()).get(), alias1);
|
|
181
|
+ model.renameAlias(alias1.getName(), alias1Edited.getName());
|
|
182
|
+ verify(listener).aliasRenamed(alias1, alias1Edited);
|
168
|
183
|
}
|
169
|
184
|
|
170
|
185
|
@Test
|
|
@@ -172,11 +187,12 @@ public class CoreAliasDialogModelTest {
|
172
|
187
|
aliases.add(alias1);
|
173
|
188
|
aliases.add(alias2);
|
174
|
189
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
175
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
190
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
191
|
+ commandController);
|
176
|
192
|
assertEquals(model.getAliases().size(), 2);
|
177
|
|
- model.removeAlias("alias1");
|
|
193
|
+ model.removeAlias(alias1.getName());
|
178
|
194
|
assertEquals(model.getAliases().size(), 1);
|
179
|
|
- assertFalse(model.getAlias("alias1").isPresent());
|
|
195
|
+ assertFalse(model.getAlias(alias1.getName()).isPresent());
|
180
|
196
|
}
|
181
|
197
|
|
182
|
198
|
@Test
|
|
@@ -184,9 +200,10 @@ public class CoreAliasDialogModelTest {
|
184
|
200
|
aliases.add(alias1);
|
185
|
201
|
aliases.add(alias2);
|
186
|
202
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
187
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
203
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
204
|
+ commandController);
|
188
|
205
|
model.addListener(listener);
|
189
|
|
- model.removeAlias("alias1");
|
|
206
|
+ model.removeAlias(alias1.getName());
|
190
|
207
|
verify(listener).aliasRemoved(alias1);
|
191
|
208
|
}
|
192
|
209
|
|
|
@@ -195,7 +212,8 @@ public class CoreAliasDialogModelTest {
|
195
|
212
|
aliases.add(alias1);
|
196
|
213
|
aliases.add(alias2);
|
197
|
214
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
198
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
215
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
216
|
+ commandController);
|
199
|
217
|
assertEquals(model.getAliases().size(), 2);
|
200
|
218
|
assertFalse(model.getSelectedAlias().isPresent());
|
201
|
219
|
}
|
|
@@ -205,7 +223,8 @@ public class CoreAliasDialogModelTest {
|
205
|
223
|
aliases.add(alias1);
|
206
|
224
|
aliases.add(alias2);
|
207
|
225
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
208
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
226
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
227
|
+ commandController);
|
209
|
228
|
assertEquals(model.getAliases().size(), 2);
|
210
|
229
|
assertFalse(model.getSelectedAlias().isPresent());
|
211
|
230
|
model.setSelectedAlias(Optional.fromNullable(alias2));
|
|
@@ -217,7 +236,8 @@ public class CoreAliasDialogModelTest {
|
217
|
236
|
aliases.add(alias1);
|
218
|
237
|
aliases.add(alias2);
|
219
|
238
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
220
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
239
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
240
|
+ commandController);
|
221
|
241
|
assertEquals(model.getAliases().size(), 2);
|
222
|
242
|
assertFalse(model.getSelectedAlias().isPresent());
|
223
|
243
|
model.setSelectedAlias(Optional.fromNullable(alias2));
|
|
@@ -229,7 +249,8 @@ public class CoreAliasDialogModelTest {
|
229
|
249
|
@Test
|
230
|
250
|
public void testRemoveListener() {
|
231
|
251
|
when(aliasModel.getAliases()).thenReturn(aliases);
|
232
|
|
- final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory);
|
|
252
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
253
|
+ commandController);
|
233
|
254
|
model.addListener(listener);
|
234
|
255
|
model.addAlias(alias1.getName(), alias1.getMinArguments(), alias1.getSubstitution());
|
235
|
256
|
model.removeListener(listener);
|
|
@@ -238,4 +259,38 @@ public class CoreAliasDialogModelTest {
|
238
|
259
|
verify(listener, never()).aliasAdded(alias2);
|
239
|
260
|
}
|
240
|
261
|
|
|
262
|
+ @Test
|
|
263
|
+ public void testRenameSelectedAlias() {
|
|
264
|
+ aliases.add(alias1);
|
|
265
|
+ when(aliasModel.getAliases()).thenReturn(aliases);
|
|
266
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
267
|
+ commandController);
|
|
268
|
+ assertEquals(model.getAliases().size(), 1);
|
|
269
|
+ assertEquals(model.getAlias(alias1.getName()).get(), alias1);
|
|
270
|
+ model.setSelectedAlias(Optional.fromNullable(alias1));
|
|
271
|
+ model.setSelectedAliasName(alias1Edited.getName());
|
|
272
|
+ model.setSelectedAliasMinimumArguments(alias1Edited.getMinArguments());
|
|
273
|
+ model.setSelectedAliasSubstitution(alias1Edited.getSubstitution());
|
|
274
|
+ model.setSelectedAlias(Optional.<Alias>absent());
|
|
275
|
+ assertEquals(model.getAlias(alias1Edited.getName()).get(), alias2);
|
|
276
|
+ }
|
|
277
|
+
|
|
278
|
+ @Test
|
|
279
|
+ public void testEditSelectedAlias() {
|
|
280
|
+ aliases.add(alias1);
|
|
281
|
+ when(aliasModel.getAliases()).thenReturn(aliases);
|
|
282
|
+ final CoreAliasDialogModel model = new CoreAliasDialogModel(aliasModel, aliasFactory,
|
|
283
|
+ commandController);
|
|
284
|
+ assertEquals(model.getAliases().size(), 1);
|
|
285
|
+ assertEquals(model.getAlias(alias1.getName()).get(), alias1);
|
|
286
|
+ model.setSelectedAlias(Optional.fromNullable(alias1));
|
|
287
|
+ model.setSelectedAliasMinimumArguments(alias2Edited.getMinArguments());
|
|
288
|
+ model.setSelectedAliasSubstitution(alias2Edited.getSubstitution());
|
|
289
|
+ model.setSelectedAlias(Optional.<Alias>absent());
|
|
290
|
+ final Alias alias = model.getAlias(alias1.getName()).get();
|
|
291
|
+ assertEquals(alias.getName(), alias2Edited.getName());
|
|
292
|
+ assertEquals(alias.getMinArguments(), alias2Edited.getMinArguments());
|
|
293
|
+ assertEquals(alias.getSubstitution(), alias2Edited.getSubstitution());
|
|
294
|
+ }
|
|
295
|
+
|
241
|
296
|
}
|