From 626b1d6a5d9cd7dddb967e859050858cbfbc0b79 Mon Sep 17 00:00:00 2001 From: Him188 Date: Sat, 25 Apr 2020 13:13:18 +0800 Subject: [PATCH] Add tests for `Message.isContentEmpty()` --- .../net.mamoe.mirai/message/data/Message.kt | 2 +- .../mirai/message.data/MessageUtilsTest.kt | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 mirai-core/src/commonTest/kotlin/net/mamoe/mirai/message.data/MessageUtilsTest.kt diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Message.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Message.kt index d7dd4afea..26759c053 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Message.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/Message.kt @@ -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 } diff --git a/mirai-core/src/commonTest/kotlin/net/mamoe/mirai/message.data/MessageUtilsTest.kt b/mirai-core/src/commonTest/kotlin/net/mamoe/mirai/message.data/MessageUtilsTest.kt new file mode 100644 index 000000000..8c618a886 --- /dev/null +++ b/mirai-core/src/commonTest/kotlin/net/mamoe/mirai/message.data/MessageUtilsTest.kt @@ -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() } + } +} \ No newline at end of file