|
3 | 3 |
|
4 | 4 | package com.mojang.brigadier;
|
5 | 5 |
|
6 |
| -import com.google.common.collect.Lists; |
7 |
| -import com.mojang.brigadier.context.CommandContext; |
8 |
| -import com.mojang.brigadier.context.CommandContextBuilder; |
9 |
| -import com.mojang.brigadier.exceptions.CommandSyntaxException; |
10 |
| -import com.mojang.brigadier.tree.LiteralCommandNode; |
11 |
| -import org.junit.Before; |
12 |
| -import org.junit.Test; |
13 |
| -import org.junit.runner.RunWith; |
14 |
| -import org.mockito.Mock; |
15 |
| -import org.mockito.runners.MockitoJUnitRunner; |
16 |
| - |
17 | 6 | import static com.mojang.brigadier.arguments.IntegerArgumentType.integer;
|
18 | 7 | import static com.mojang.brigadier.builder.LiteralArgumentBuilder.literal;
|
19 | 8 | import static com.mojang.brigadier.builder.RequiredArgumentBuilder.argument;
|
|
32 | 21 | import static org.mockito.Mockito.verify;
|
33 | 22 | import static org.mockito.Mockito.when;
|
34 | 23 |
|
| 24 | +import com.google.common.collect.Lists; |
| 25 | +import com.mojang.brigadier.context.CommandContext; |
| 26 | +import com.mojang.brigadier.context.CommandContextBuilder; |
| 27 | +import com.mojang.brigadier.exceptions.CommandSyntaxException; |
| 28 | +import com.mojang.brigadier.tree.CommandNode; |
| 29 | +import com.mojang.brigadier.tree.LiteralCommandNode; |
| 30 | +import java.util.Collections; |
| 31 | +import org.junit.Before; |
| 32 | +import org.junit.Test; |
| 33 | +import org.junit.runner.RunWith; |
| 34 | +import org.mockito.Mock; |
| 35 | +import org.mockito.runners.MockitoJUnitRunner; |
| 36 | + |
35 | 37 | @RunWith(MockitoJUnitRunner.class)
|
36 | 38 | public class CommandDispatcherTest {
|
37 | 39 | private CommandDispatcher<Object> subject;
|
@@ -202,6 +204,15 @@ public void testParseIncompleteArgument() throws Exception {
|
202 | 204 | assertThat(parse.getContext().getNodes().size(), is(1));
|
203 | 205 | }
|
204 | 206 |
|
| 207 | + @Test |
| 208 | + public void testParseChildlessRedirect() throws Exception { |
| 209 | + final CommandNode<Object> target = subject.register(literal("foo").executes(command)); |
| 210 | + subject.register(literal("bar").redirect(target)); |
| 211 | + |
| 212 | + final ParseResults<Object> parse = subject.parse("bar", source); |
| 213 | + assertThat(parse.getContext().getCommand(), equalTo(target.getCommand())); |
| 214 | + } |
| 215 | + |
205 | 216 | @SuppressWarnings("unchecked")
|
206 | 217 | @Test
|
207 | 218 | public void testExecuteAmbiguiousParentSubcommand() throws Exception {
|
|
0 commit comments