Add tests for Message.isContentEmpty()

This commit is contained in:
Him188 2020-04-25 13:13:18 +08:00
parent e3add186fb
commit 626b1d6a5d
2 changed files with 26 additions and 1 deletions

View File

@ -280,7 +280,7 @@ interface Message { // must be interface. Don't consider any changes.
fun Message.isContentEmpty(): Boolean = when (this) {
is MessageMetadata -> true
is PlainText -> this.isEmpty()
is MessageChain -> this.any { it.isContentEmpty() }
is MessageChain -> this.all { it.isContentEmpty() }
else -> false
}

View File

@ -0,0 +1,25 @@
/*
* Copyright 2020 Mamoe Technologies and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
*
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
package net.mamoe.mirai.message.data
import kotlin.test.Test
import kotlin.test.assertTrue
internal class MessageUtilsTest {
@Test
fun testIsContentEmpty() {
assertTrue { EmptyMessageChain.isContentEmpty() }
assertTrue { buildMessageChain { }.isContentEmpty() }
assertTrue { PlainText("").isContentEmpty() }
assertTrue { (PlainText("") + PlainText("")).isContentEmpty() }
assertTrue { buildMessageChain { append(PlainText("")); append(PlainText("")) }.isContentEmpty() }
}
}