Calendar: components 421-440
This commit is contained in:
110 files changed
+7335
-23
No files matched your search
@@ -0,0 +1,76 @@
|
||||
package mujica
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/egoist/mygo/ui"
|
||||
)
|
||||
|
||||
func weekPickerTester(v *Date, opts *WeekPickerOptions, n *int) *ui.Tester {
|
||||
return ui.NewTester(func(c *ui.Context) {
|
||||
Use(c, Settings{})
|
||||
o := *opts
|
||||
o.Today, o.Label = calendarToday, "Sprint"
|
||||
ui.Column(c).Padding(16).Children(func() {
|
||||
if WeekPicker(c, v, o).Changed() {
|
||||
*n++
|
||||
}
|
||||
})
|
||||
}, 480, 480)
|
||||
}
|
||||
|
||||
func TestWeekPickerPicksWeekStart(t *testing.T) {
|
||||
v, n := Date{}, 0
|
||||
opts := &WeekPickerOptions{}
|
||||
tt := weekPickerTester(&v, opts, &n)
|
||||
_ = tt.Click("Sprint")
|
||||
_ = tt.Click(datetimeTestLabel(oct(15)))
|
||||
if v != oct(11) || n != 1 || !tt.HasText("October 11 – October 17, 2026") {
|
||||
t.Fatalf("Sunday-start week of Oct 15: %v %v", v, tt.Texts())
|
||||
}
|
||||
v, opts.WeekStart = oct(12), WeekStartMonday
|
||||
tt.Frame()
|
||||
_ = tt.Click("Sprint")
|
||||
tt.Key(0, ui.KeyDown)
|
||||
tt.Key(0, ui.KeyEnter)
|
||||
if v != oct(19) || n != 2 {
|
||||
t.Fatalf("Monday-start keyboard pick %v", v)
|
||||
}
|
||||
}
|
||||
|
||||
func TestWeekPickerBoundsClearDisabled(t *testing.T) {
|
||||
v, n := oct(11), 0
|
||||
opts := &WeekPickerOptions{Min: oct(4), Max: oct(24), Clearable: true}
|
||||
tt := weekPickerTester(&v, opts, &n)
|
||||
_ = tt.Click("Sprint")
|
||||
_ = tt.Click(datetimeTestLabel(oct(26)))
|
||||
_ = tt.Click(datetimeTestLabel(oct(2)))
|
||||
if v != oct(11) || n != 0 {
|
||||
t.Fatalf("out-of-range week chosen: %v", v)
|
||||
}
|
||||
tt.Key(0, ui.KeyEscape)
|
||||
_ = tt.Click("Clear")
|
||||
if !v.IsZero() || n != 1 {
|
||||
t.Fatalf("clear left %v", v)
|
||||
}
|
||||
opts.Disabled = true
|
||||
tt.Frame()
|
||||
_ = tt.Click("Sprint")
|
||||
if tt.HasText("October 2026") {
|
||||
t.Fatal("disabled picker opened")
|
||||
}
|
||||
defer func() {
|
||||
if recover() == nil {
|
||||
t.Fatal("expected panic for a mid-week value")
|
||||
}
|
||||
}()
|
||||
mid := oct(14)
|
||||
weekPickerTester(&mid, &WeekPickerOptions{}, &n)
|
||||
}
|
||||
|
||||
func TestWeekPickerSnapshot(t *testing.T) {
|
||||
v := oct(11)
|
||||
snapshot(t, "week_picker", 400, 80, func(c *ui.Context) {
|
||||
ui.Column(c).Padding(16).Children(func() { WeekPicker(c, &v, WeekPickerOptions{Today: calendarToday, Clearable: true}) })
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user