feat: add easter egg toast message logic with tests
This commit is contained in:
parent
1e43638fbc
commit
6830c1e510
@ -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
|
||||
}
|
||||
|
||||
/**
|
||||
* 关于页面,展示应用图标、名称、版本号及开源许可入口。
|
||||
*
|
||||
|
||||
@ -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))
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user