Fix EnumButtonTests failing
Clicking an EnumButton causes it to change it's labels text, which was
changed in f29e690208
to cause a layout pass, which invalidated the manually
set frame.
This commit is contained in:
parent
d750339c07
commit
2044daec40
|
@ -5,6 +5,7 @@ import net.shadowfacts.cacao.Window
|
||||||
import net.shadowfacts.cacao.geometry.Point
|
import net.shadowfacts.cacao.geometry.Point
|
||||||
import net.shadowfacts.cacao.geometry.Rect
|
import net.shadowfacts.cacao.geometry.Rect
|
||||||
import net.shadowfacts.cacao.util.MouseButton
|
import net.shadowfacts.cacao.util.MouseButton
|
||||||
|
import net.shadowfacts.kiwidsl.dsl
|
||||||
import org.junit.jupiter.api.Assertions.assertEquals
|
import org.junit.jupiter.api.Assertions.assertEquals
|
||||||
import org.junit.jupiter.api.Assertions.assertTrue
|
import org.junit.jupiter.api.Assertions.assertTrue
|
||||||
import org.junit.jupiter.api.BeforeAll
|
import org.junit.jupiter.api.BeforeAll
|
||||||
|
@ -31,23 +32,28 @@ class EnumButtonTests {
|
||||||
|
|
||||||
lateinit var screen: CacaoScreen
|
lateinit var screen: CacaoScreen
|
||||||
lateinit var window: Window
|
lateinit var window: Window
|
||||||
|
lateinit var button: EnumButton<MyEnum>
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
fun setup() {
|
fun setup() {
|
||||||
screen = CacaoScreen()
|
screen = CacaoScreen()
|
||||||
window = screen.addWindow(Window())
|
window = screen.addWindow(Window())
|
||||||
|
button = window.addView(EnumButton(MyEnum.ONE, MyEnum::name))
|
||||||
|
window.solver.dsl {
|
||||||
|
button.leftAnchor equalTo 0
|
||||||
|
button.topAnchor equalTo 0
|
||||||
|
button.widthAnchor equalTo 25
|
||||||
|
button.heightAnchor equalTo 25
|
||||||
|
}
|
||||||
|
window.layout()
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testHandlerCalled() {
|
fun testHandlerCalled() {
|
||||||
val called = CompletableFuture<Boolean>()
|
val called = CompletableFuture<Boolean>()
|
||||||
val button = window.addView(EnumButton(MyEnum.ONE, MyEnum::name).apply {
|
button.handler = {
|
||||||
frame = Rect(0.0, 0.0, 25.0, 25.0)
|
called.complete(true)
|
||||||
content.frame = bounds
|
}
|
||||||
handler = {
|
|
||||||
called.complete(true)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.LEFT))
|
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.LEFT))
|
||||||
assertTrue(called.getNow(false))
|
assertTrue(called.getNow(false))
|
||||||
|
@ -56,11 +62,6 @@ class EnumButtonTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testCyclesValues() {
|
fun testCyclesValues() {
|
||||||
val button = window.addView(EnumButton(MyEnum.ONE, MyEnum::name).apply {
|
|
||||||
frame = Rect(0.0, 0.0, 25.0, 25.0)
|
|
||||||
content.frame = bounds
|
|
||||||
})
|
|
||||||
|
|
||||||
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.LEFT))
|
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.LEFT))
|
||||||
assertEquals(MyEnum.TWO, button.value)
|
assertEquals(MyEnum.TWO, button.value)
|
||||||
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.LEFT))
|
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.LEFT))
|
||||||
|
@ -71,11 +72,6 @@ class EnumButtonTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testCyclesValuesBackwards() {
|
fun testCyclesValuesBackwards() {
|
||||||
val button = window.addView(EnumButton(MyEnum.ONE, MyEnum::name).apply {
|
|
||||||
frame = Rect(0.0, 0.0, 25.0, 25.0)
|
|
||||||
content.frame = Rect(0.0, 0.0, 25.0, 25.0)
|
|
||||||
})
|
|
||||||
|
|
||||||
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.LEFT))
|
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.LEFT))
|
||||||
assertEquals(MyEnum.TWO, button.value)
|
assertEquals(MyEnum.TWO, button.value)
|
||||||
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.RIGHT))
|
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.RIGHT))
|
||||||
|
@ -84,11 +80,6 @@ class EnumButtonTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testMiddleClickDoesNotChangeValue() {
|
fun testMiddleClickDoesNotChangeValue() {
|
||||||
val button = window.addView(EnumButton(MyEnum.ONE, MyEnum::name).apply {
|
|
||||||
frame = Rect(0.0, 0.0, 25.0, 25.0)
|
|
||||||
content.frame = Rect(0.0, 0.0, 25.0, 25.0)
|
|
||||||
})
|
|
||||||
|
|
||||||
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.MIDDLE))
|
assertTrue(window.mouseClicked(Point(5.0, 5.0), MouseButton.MIDDLE))
|
||||||
assertEquals(MyEnum.ONE, button.value)
|
assertEquals(MyEnum.ONE, button.value)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue