diff --git a/changelog.d/6844.bugfix b/changelog.d/6844.bugfix new file mode 100644 index 0000000000..a2babaaa6d --- /dev/null +++ b/changelog.d/6844.bugfix @@ -0,0 +1 @@ +Fixes /addToSpace and /joinSpace commands showing invalid syntax warnings diff --git a/vector/src/main/java/im/vector/app/features/command/CommandParser.kt b/vector/src/main/java/im/vector/app/features/command/CommandParser.kt index 1378321026..be3cabfc18 100644 --- a/vector/src/main/java/im/vector/app/features/command/CommandParser.kt +++ b/vector/src/main/java/im/vector/app/features/command/CommandParser.kt @@ -374,15 +374,15 @@ class CommandParser @Inject constructor() { } } Command.ADD_TO_SPACE.matches(slashCommand) -> { - if (messageParts.size == 1) { - ParsedCommand.AddToSpace(spaceId = message) + if (messageParts.size == 2) { + ParsedCommand.AddToSpace(spaceId = messageParts.last()) } else { ParsedCommand.ErrorSyntax(Command.ADD_TO_SPACE) } } Command.JOIN_SPACE.matches(slashCommand) -> { - if (messageParts.size == 1) { - ParsedCommand.JoinSpace(spaceIdOrAlias = message) + if (messageParts.size == 2) { + ParsedCommand.JoinSpace(spaceIdOrAlias = messageParts.last()) } else { ParsedCommand.ErrorSyntax(Command.JOIN_SPACE) } diff --git a/vector/src/test/java/im/vector/app/features/command/CommandParserTest.kt b/vector/src/test/java/im/vector/app/features/command/CommandParserTest.kt index f5233a496c..c257377849 100644 --- a/vector/src/test/java/im/vector/app/features/command/CommandParserTest.kt +++ b/vector/src/test/java/im/vector/app/features/command/CommandParserTest.kt @@ -19,6 +19,8 @@ package im.vector.app.features.command import org.amshove.kluent.shouldBeEqualTo import org.junit.Test +private const val A_SPACE_ID = "!my-space-id" + class CommandParserTest { @Test fun parseSlashCommandEmpty() { @@ -31,6 +33,15 @@ class CommandParserTest { test("/unknown with param", ParsedCommand.ErrorUnknownSlashCommand("/unknown")) } + @Test + fun parseSlashAddToSpaceCommand() { + test("/addToSpace $A_SPACE_ID", ParsedCommand.AddToSpace(A_SPACE_ID)) + } + @Test + fun parseSlashJoinSpaceCommand() { + test("/joinSpace $A_SPACE_ID", ParsedCommand.JoinSpace(A_SPACE_ID)) + } + @Test fun parseSlashCommandNotACommand() { test("", ParsedCommand.ErrorNotACommand)