|
|
@@ -0,0 +1,50 @@
|
|
|
+/*
|
|
|
+ * Copyright 2019-2021 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/dev/LICENSE
|
|
|
+ */
|
|
|
+
|
|
|
+@file:JvmBlockingBridge
|
|
|
+
|
|
|
+package net.mamoe.mirai.internal.contact.file
|
|
|
+
|
|
|
+import net.mamoe.kjbb.JvmBlockingBridge
|
|
|
+import net.mamoe.mirai.internal.MockBot
|
|
|
+import net.mamoe.mirai.internal.network.notice.BotAware
|
|
|
+import net.mamoe.mirai.internal.network.protocol.data.proto.GroupFileCommon
|
|
|
+import net.mamoe.mirai.internal.notice.processors.GroupExtensions
|
|
|
+import net.mamoe.mirai.internal.test.AbstractTest
|
|
|
+import org.junit.jupiter.api.Test
|
|
|
+import kotlin.test.assertEquals
|
|
|
+
|
|
|
+internal class AbsoluteFolderTest : AbstractTest(), BotAware, GroupExtensions {
|
|
|
+ override val bot = MockBot { }
|
|
|
+ val group = bot.addGroup(1L, 2L)
|
|
|
+ private val root = group.files.root
|
|
|
+
|
|
|
+ @Test
|
|
|
+ suspend fun `resolveFolderById always returns null if it is not root`() {
|
|
|
+ val child = root.impl().createChildFolder(
|
|
|
+ GroupFileCommon.FolderInfo(
|
|
|
+ folderId = "/f-1",
|
|
|
+ folderName = "name"
|
|
|
+ )
|
|
|
+ )
|
|
|
+ assertEquals(null, child.resolveFolderById("/anything"))
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ suspend fun `resolveFolderById always returns root for slash`() {
|
|
|
+ val child = root.impl().createChildFolder(
|
|
|
+ GroupFileCommon.FolderInfo(
|
|
|
+ folderId = "/f-1",
|
|
|
+ folderName = "name"
|
|
|
+ )
|
|
|
+ )
|
|
|
+ assertEquals(root, root.resolveFolderById("/"))
|
|
|
+ assertEquals(root, child.resolveFolderById("/"))
|
|
|
+ }
|
|
|
+}
|