Pick clubs from the top three divisions, and stop the rail from crashing
Some checks failed
Build TV app / build (push) Failing after 2s
Some checks failed
Build TV app / build (push) Failing after 2s
The club shortcut now offers every club of the first three German divisions instead of two hard-coded ones. Up to three can be active at once; benjamin and tobiasb still start with Hansa and the VfB switched on. Also fixes a crash on the left jump out of the channel list: the jump targeted a FocusRequester bound to the selected rail row, and a row that is scrolled out of a LazyColumn is not composed, so requesting focus on it threw. Jumps are now attempted and fall back to normal focus movement. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,14 +2,13 @@ package dev.castarr.tv.data
|
||||
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertNull
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
|
||||
class TeamFiltersTest {
|
||||
|
||||
private val hansa = TeamFilters.byKey("hansa")!!
|
||||
private val vfb = TeamFilters.byKey("vfb")!!
|
||||
private val vfb = TeamFilters.byKey("stuttgart")!!
|
||||
|
||||
@Test
|
||||
fun `matches the club regardless of case and surrounding text`() {
|
||||
@@ -39,8 +38,24 @@ class TeamFiltersTest {
|
||||
|
||||
@Test
|
||||
fun `assigns each viewer their own club by default`() {
|
||||
assertEquals("hansa", TeamFilters.defaultKeyFor("benjamin"))
|
||||
assertEquals("vfb", TeamFilters.defaultKeyFor("TobiasB"))
|
||||
assertNull(TeamFilters.defaultKeyFor("someone-else"))
|
||||
assertEquals(listOf("hansa"), TeamFilters.defaultKeysFor("benjamin"))
|
||||
assertEquals(listOf("stuttgart"), TeamFilters.defaultKeysFor("TobiasB"))
|
||||
assertTrue(TeamFilters.defaultKeysFor("someone-else").isEmpty())
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `club keys are unique and every club has needles`() {
|
||||
val keys = TeamFilters.all.map { it.key }
|
||||
assertEquals(keys.size, keys.toSet().size)
|
||||
assertTrue(TeamFilters.all.all { it.needles.isNotEmpty() })
|
||||
assertTrue(TeamFilters.all.all { c -> c.needles.all { it == it.lowercase() } })
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `covers all three divisions`() {
|
||||
assertTrue(TeamFilters.all.size > 50)
|
||||
listOf("bayern", "schalke", "hansa").forEach {
|
||||
assertTrue(it, TeamFilters.byKey(it) != null)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user