mirror of
https://github.com/praktimarc/kst4contest.git
synced 2026-11-09 14:48:37 +01:00
Fix Compose UI regressions in KST4Contest 1.50 (#147)
* test: make stylesheet tests platform-independent * fix: address Compose UI regressions * fix: complete Compose UI workflow corrections * feat: improve manual QTF heading control
This commit is contained in:
1 parent
4642d658a3
commit
a4e10300e7
114 files changed
+8065
-1128
No files matched your search
@@ -219,6 +219,57 @@ class SplitterStateTest {
|
||||
assertEquals(777f, state.paneSizes(totalPx = 777f).sum(), 0.01f)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `pane-specific minimums keep fixed-height controls visible without replacing stored positions`() {
|
||||
val stored = doubleArrayOf(0.62, 0.7, 0.75, 0.9)
|
||||
val state = SplitterState(paneCount = 5, stored = stored) {}
|
||||
|
||||
val sizes = state.paneSizes(
|
||||
totalPx = 800f,
|
||||
minimumPaneSizesPx = floatArrayOf(24f, 26f, 104f, 26f, 24f),
|
||||
)
|
||||
|
||||
assertTrue(sizes[0] >= 24f)
|
||||
assertTrue(sizes[1] >= 26f)
|
||||
assertTrue(sizes[2] >= 104f)
|
||||
assertTrue(sizes[3] >= 26f)
|
||||
assertTrue(sizes[4] >= 24f)
|
||||
assertEquals(800f, sizes.sum(), 0.01f)
|
||||
stored.forEachIndexed { index, position ->
|
||||
assertEquals(position.toFloat(), state.positions[index], 0.001f)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `pane-specific minimums scale down together in an impossibly small splitter`() {
|
||||
val state = SplitterState(paneCount = 3, stored = doubleArrayOf(0.2, 0.8)) {}
|
||||
|
||||
val sizes = state.paneSizes(
|
||||
totalPx = 100f,
|
||||
minimumPaneSizesPx = floatArrayOf(50f, 100f, 50f),
|
||||
)
|
||||
|
||||
assertEquals(listOf(25f, 50f, 25f), sizes)
|
||||
assertEquals(100f, sizes.sum(), 0.01f)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `pane-specific minimum scaling tolerates float rounding`() {
|
||||
val state = SplitterState(
|
||||
paneCount = 2,
|
||||
stored = doubleArrayOf(0.48),
|
||||
minPanePx = 160f,
|
||||
) {}
|
||||
|
||||
val sizes = state.paneSizes(
|
||||
totalPx = 24.405657f,
|
||||
minimumPaneSizesPx = floatArrayOf(52f, 160f),
|
||||
)
|
||||
|
||||
assertTrue(sizes.all { it >= 0f })
|
||||
assertEquals(24.405657f, sizes.sum(), 0.0001f)
|
||||
}
|
||||
|
||||
private fun assertNull(value: Any?, message: String) {
|
||||
assertFalse(value != null, message)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user