From 085f5b3d98faf65451fb6b0fe93debebb9195914 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Thu, 25 Sep 2014 10:32:15 +0200 Subject: [PATCH] Added testParseSimilar testcase to LiteralCommandNode --- .../minecraft/commands/tree/LiteralCommandNode.java | 12 +++++------- .../commands/tree/LiteralCommandNodeTest.java | 5 +++++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/minecraft/commands/tree/LiteralCommandNode.java b/src/main/java/net/minecraft/commands/tree/LiteralCommandNode.java index 24f8606..8d3b1c5 100644 --- a/src/main/java/net/minecraft/commands/tree/LiteralCommandNode.java +++ b/src/main/java/net/minecraft/commands/tree/LiteralCommandNode.java @@ -19,15 +19,13 @@ public class LiteralCommandNode extends CommandNode { @Override public String parse(String command, CommandContextBuilder contextBuilder) throws IllegalArgumentSyntaxException, ArgumentValidationException { - if (!command.startsWith(literal)) { + String expected = literal + (command.length() > literal.length() ? " " : ""); + + if (!command.startsWith(expected)) { throw new IllegalArgumentSyntaxException(); } - int start = literal.length(); - if (command.length() > start) { - return command.substring(start + 1); - } else { - return ""; - } + int start = expected.length(); + return command.substring(start); } } diff --git a/src/main/test/net/minecraft/commands/tree/LiteralCommandNodeTest.java b/src/main/test/net/minecraft/commands/tree/LiteralCommandNodeTest.java index 89b0bc4..e676e25 100644 --- a/src/main/test/net/minecraft/commands/tree/LiteralCommandNodeTest.java +++ b/src/main/test/net/minecraft/commands/tree/LiteralCommandNodeTest.java @@ -29,6 +29,11 @@ public class LiteralCommandNodeTest { assertThat(node.parse("foo", contextBuilder), is("")); } + @Test(expected = IllegalArgumentSyntaxException.class) + public void testParseSimilar() throws Exception { + node.parse("foobar", contextBuilder); + } + @Test(expected = IllegalArgumentSyntaxException.class) public void testParseInvalid() throws Exception { node.parse("bar", contextBuilder);