diff --git a/blackwidowlib/pom.xml b/blackwidowlib/pom.xml index 4900759..2476c6b 100644 --- a/blackwidowlib/pom.xml +++ b/blackwidowlib/pom.xml @@ -24,11 +24,11 @@ io.github.arcaneplugins.blackwidow blackwidow - 1.1.4 + 1.1.5 blackwidowlib - 1.1.4 + 1.1.5 diff --git a/blackwidowlib/src/test/java/io/github/arcaneplugins/blackwidow/lib/cmdblocking/TestCmdEvaluation.java b/blackwidowlib/src/test/java/io/github/arcaneplugins/blackwidow/lib/cmdblocking/TestCmdEvaluation.java index d9ecd99..d944a03 100644 --- a/blackwidowlib/src/test/java/io/github/arcaneplugins/blackwidow/lib/cmdblocking/TestCmdEvaluation.java +++ b/blackwidowlib/src/test/java/io/github/arcaneplugins/blackwidow/lib/cmdblocking/TestCmdEvaluation.java @@ -25,6 +25,7 @@ import java.util.Collection; import java.util.Collections; import java.util.EnumSet; +import java.util.function.BiFunction; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Supplier; @@ -150,6 +151,77 @@ public void testChainsMustStartWithSlash() { } } + /** + * Ensures wildcard base command rules detect all base commands. + * + * @author lokka30 + * @since 1.1.5 + */ + @Test + public void testWildcardBaseCmd() { + final BiFunction test = (cmd, policy) -> { + final Evaluation eval = Evaluator.evaluate( + "/hello", + Collections.singletonList(new Chain( + "wildcard-base-cmd", + true, + Policy.DENY, + Collections.singletonList("/*"), + false, + EvalCause.setValues() + )), + Policy.ALLOW, + false, + EvalCause.CMD_EXECUTION, + debugLogger, + warningLogger + ); + + return eval.policy() == policy && !eval.dueToException(); + }; + + Assertions.assertTrue(test.apply("/hello", Policy.DENY), "failed wildcard base cmd match"); + Assertions.assertTrue(test.apply("/something abc", Policy.DENY), "failed wildcard base cmd match with an argument"); + } + + /** + * Ensures wildcard argument command rules detect all command arguments. + * + * @author lokka30 + * @since 1.1.5 + */ + @Test + public void testWildcardArgs() { + final BiFunction test = (cmd, policy) -> { + final Evaluation eval = Evaluator.evaluate( + cmd, + Collections.singletonList(new Chain( + "wildcard-arg-cmd", + true, + policy, + Collections.singletonList("/hello * world *"), + false, + EvalCause.setValues() + )), + Policy.ALLOW, + false, + EvalCause.CMD_EXECUTION, + debugLogger, + warningLogger + ); + + return eval.policy() == policy && !eval.dueToException(); + }; + + Assertions.assertTrue(test.apply("/hello something world anything123", Policy.DENY)); + Assertions.assertTrue(test.apply("/hello another world thing withmorestuff at the end", Policy.DENY)); + Assertions.assertTrue(test.apply("/hello * world *", Policy.DENY)); + Assertions.assertTrue(test.apply("/hello * world * hasmorestuff", Policy.DENY)); + + Assertions.assertTrue(test.apply("/nothello a world a", Policy.ALLOW)); + Assertions.assertTrue(test.apply("/hello something notworld anotherthinghere", Policy.ALLOW)); + } + /** * Example to ensure all commands expected to be denied are.. denied. * diff --git a/blackwidowpluginbukkit/pom.xml b/blackwidowpluginbukkit/pom.xml index 095b061..2bfe078 100644 --- a/blackwidowpluginbukkit/pom.xml +++ b/blackwidowpluginbukkit/pom.xml @@ -24,11 +24,11 @@ io.github.arcaneplugins.blackwidow blackwidow - 1.1.4 + 1.1.5 blackwidowpluginbukkit - 1.1.4 + 1.1.5 21 @@ -47,7 +47,7 @@ io.github.arcaneplugins.blackwidow blackwidowlib - 1.1.4 + 1.1.5 compile diff --git a/blackwidowpluginbukkit/src/main/java/io/github/arcaneplugins/blackwidow/plugin/bukkit/logic/inbuilt/requirement/HasPermissionRequirement.java b/blackwidowpluginbukkit/src/main/java/io/github/arcaneplugins/blackwidow/plugin/bukkit/logic/inbuilt/requirement/HasPermissionRequirement.java index 869f348..ad41496 100644 --- a/blackwidowpluginbukkit/src/main/java/io/github/arcaneplugins/blackwidow/plugin/bukkit/logic/inbuilt/requirement/HasPermissionRequirement.java +++ b/blackwidowpluginbukkit/src/main/java/io/github/arcaneplugins/blackwidow/plugin/bukkit/logic/inbuilt/requirement/HasPermissionRequirement.java @@ -27,7 +27,7 @@ public final class HasPermissionRequirement extends Requirement { - public static final String ID = "has-perission"; + public static final String ID = "has-permission"; private final String permission; diff --git a/pom.xml b/pom.xml index ec7f356..215b1fe 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ io.github.arcaneplugins.blackwidow blackwidow - 1.1.4 + 1.1.5 pom blackwidowlib