123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /*
- * Copyright 2019-2022 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
- */
- package net.mamoe.mirai.console.intellij.creator.tasks
- import net.mamoe.mirai.console.intellij.diagnostics.adjustToClassName
- import net.mamoe.mirai.console.intellij.diagnostics.isValidPackageName
- import net.mamoe.mirai.console.intellij.diagnostics.isValidQualifiedClassName
- import net.mamoe.mirai.console.intellij.diagnostics.isValidSimpleClassName
- import kotlin.test.Test
- import kotlin.test.assertEquals
- import kotlin.test.assertTrue
- internal class TaskUtilsKtTest {
- private fun useClassNameCases(mustBeTrue: (String) -> Boolean) {
- val success = listOf("A", "A_B", "A0", "A_0", "A_B0")
- val failure = listOf("", "0", "_", "-", ".", "/", "A/", "A.", "A.")
- success.forEach { assertEquals(true, mustBeTrue(it), it) }
- failure.forEach { assertEquals(false, mustBeTrue(it), it) }
- }
- @Test
- fun isValidPackageName() {
- useClassNameCases { it.isValidPackageName() }
- }
- @Test
- fun isValidClassName() {
- useClassNameCases { it.isValidSimpleClassName() }
- }
- @Test
- fun adjustToClassName() {
- assertEquals("Test", "Test".adjustToClassName())
- assertEquals("TeSt", "Te_st".adjustToClassName())
- assertEquals("TeSt", "Te_St".adjustToClassName())
- assertEquals("TeSt", "Te-st".adjustToClassName())
- assertEquals("TeSt", "Te-St".adjustToClassName())
- assertEquals("TestAA", "Test//!@#$%^&*()AA".adjustToClassName())
- assertEquals(null, "0".adjustToClassName())
- assertEquals(null, "_0".adjustToClassName())
- assertEquals(null, "_0A".adjustToClassName())
- assertEquals("A1", "A1".adjustToClassName())
- assertEquals("A1", "A_1".adjustToClassName())
- assertEquals("A1", "A-1".adjustToClassName())
- assertEquals("MiraiConsoleExample", "mirai-console-example".adjustToClassName())
- }
- @Test
- fun qualifiedClassname() {
- useClassNameCases { it.isValidQualifiedClassName() }
- assertTrue { "a.b.c".isValidQualifiedClassName() }
- }
- }
|