49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/egoist/mygo/ui"
|
|
|
|
mujica "mujicaui"
|
|
)
|
|
|
|
func layoutPageTester(t *testing.T, id string, events *[]string) *ui.Tester {
|
|
t.Helper()
|
|
for _, p := range layoutPages {
|
|
if p.ID == id {
|
|
return ui.NewTester(func(c *ui.Context) {
|
|
mujica.Use(c, mujica.Settings{})
|
|
ui.Scroll(c).Fill().Children(func() {
|
|
p.Demo(c, func(s string) { *events = append(*events, s) })
|
|
})
|
|
}, 900, 700)
|
|
}
|
|
}
|
|
t.Fatalf("no layout page %s", id)
|
|
return nil
|
|
}
|
|
|
|
func TestLayoutStackDemoVerticalHasNoWrap(t *testing.T) {
|
|
var events []string
|
|
tt := layoutPageTester(t, "005", &events)
|
|
if err := tt.Click("Wrap"); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if err := tt.Click("Horizontal"); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if tt.HasText("Wrap") {
|
|
t.Fatal("Wrap control offered for a vertical stack")
|
|
}
|
|
if err := tt.Click("Horizontal"); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if !tt.HasText("Wrap") {
|
|
t.Fatal("Wrap control missing for a horizontal stack")
|
|
}
|
|
if len(events) != 3 || events[1] != "Horizontal: false" {
|
|
t.Fatalf("events %q", events)
|
|
}
|
|
}
|