feat: add easter egg toast message logic with tests

This commit is contained in:
xfy 2026-06-16 15:50:46 +08:00
parent 1e43638fbc
commit 6830c1e510
2 changed files with 48 additions and 0 deletions

View File

@ -34,6 +34,19 @@ import plus.rua.project.AppInfo
import plus.rua.project.getAppIconUri
import plus.rua.project.getAppVersion
/**
* 根据当前连续点击次数返回应显示的 Toast 文案
*
* @param clickCount 当前连续点击次数 1 开始
* @return 需要显示的文案若无需提示则返回 null
*/
internal fun getToastMessage(clickCount: Int): String? = when (clickCount) {
4 -> "再点击 3 下进入小狗乐园"
5 -> "再点击 2 下进入小狗乐园"
6 -> "再点击 1 下进入小狗乐园"
else -> null
}
/**
* 关于页面展示应用图标名称版本号及开源许可入口
*

View File

@ -0,0 +1,35 @@
package plus.rua.project.ui
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNull
class AboutEasterEggTest {
@Test
fun `first three clicks show no toast`() {
assertNull(getToastMessage(1))
assertNull(getToastMessage(2))
assertNull(getToastMessage(3))
}
@Test
fun `fourth click shows remaining three`() {
assertEquals("再点击 3 下进入小狗乐园", getToastMessage(4))
}
@Test
fun `fifth click shows remaining two`() {
assertEquals("再点击 2 下进入小狗乐园", getToastMessage(5))
}
@Test
fun `sixth click shows remaining one`() {
assertEquals("再点击 1 下进入小狗乐园", getToastMessage(6))
}
@Test
fun `seventh click triggers navigation and shows no toast`() {
assertNull(getToastMessage(7))
}
}