diff --git a/core/src/main/kotlin/plus/rua/project/ui/AboutScreen.kt b/core/src/main/kotlin/plus/rua/project/ui/AboutScreen.kt index baa855e..b1f6c09 100644 --- a/core/src/main/kotlin/plus/rua/project/ui/AboutScreen.kt +++ b/core/src/main/kotlin/plus/rua/project/ui/AboutScreen.kt @@ -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 +} + /** * 关于页面,展示应用图标、名称、版本号及开源许可入口。 * diff --git a/core/src/test/kotlin/plus/rua/project/ui/AboutEasterEggTest.kt b/core/src/test/kotlin/plus/rua/project/ui/AboutEasterEggTest.kt new file mode 100644 index 0000000..6df2ba5 --- /dev/null +++ b/core/src/test/kotlin/plus/rua/project/ui/AboutEasterEggTest.kt @@ -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)) + } +}