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