[AB-313] ignoring referenced message parameter in parameter handler if not needed

This commit is contained in:
Sheldan
2021-07-25 17:27:32 +02:00
parent 5311cfcc2e
commit a6c3bb5aa2
22 changed files with 44 additions and 13 deletions

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.statistic.emote.command.parameter.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.CommandParameterHandler;
import dev.sheldan.abstracto.core.command.handler.CommandParameterIterators;
@@ -38,7 +39,7 @@ public class TrackedEmoteParameterHandler implements CommandParameterHandler {
*/
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(TrackedEmote.class);
return clazz.equals(TrackedEmote.class) && value.getType().equals(ParameterPieceType.STRING);
}
/**

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.statistic.emote.command.parameter.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.CommandParameterHandler;
import dev.sheldan.abstracto.core.command.handler.CommandParameterIterators;
@@ -42,7 +43,7 @@ public class TrackedEmoteParameterParameterHandler implements CommandParameterHa
*/
@Override
public boolean handles(Class clazz, UnparsedCommandParameterPiece value) {
return clazz.equals(TrackEmoteParameter.class);
return clazz.equals(TrackEmoteParameter.class) && value.getType().equals(ParameterPieceType.STRING);
}
/**

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.statistic.emote.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.CommandParameterIterators;
import dev.sheldan.abstracto.core.command.handler.provided.EmoteParameterHandler;
@@ -70,6 +71,7 @@ public class TrackedEmoteParameterHandlerTest {
@Test
public void testHandleCorrect() {
when(unparsedCommandParameterPiece.getType()).thenReturn(ParameterPieceType.STRING);
Assert.assertTrue(testUnit.handles(TrackedEmote.class, unparsedCommandParameterPiece));
}

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.statistic.emote.command.handler;
import dev.sheldan.abstracto.core.command.Command;
import dev.sheldan.abstracto.core.command.config.Parameter;
import dev.sheldan.abstracto.core.command.execution.ParameterPieceType;
import dev.sheldan.abstracto.core.command.execution.UnparsedCommandParameterPiece;
import dev.sheldan.abstracto.core.command.handler.CommandParameterIterators;
import dev.sheldan.abstracto.core.command.handler.provided.EmoteParameterHandler;
@@ -73,6 +74,7 @@ public class TrackedEmoteParameterParameterHandlerTest {
@Test
public void testHandleCorrect() {
when(unparsedCommandParameterPiece.getType()).thenReturn(ParameterPieceType.STRING);
Assert.assertTrue(testUnit.handles(TrackEmoteParameter.class, unparsedCommandParameterPiece));
}