From 26af7576920a0e21533a0a32df3f1fc1d7e9edb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Mon, 5 Oct 2026 13:14:34 -0400 Subject: [PATCH] Baseline state snapshots: Button, TextInput, Checkbox hover/pressed/focus --- baseline_states_test.go | 57 ++++++++++++++++++ .../snapshots/darwin/button-focus-dark.png | Bin 0 -> 3397 bytes .../snapshots/darwin/button-focus-light.png | Bin 0 -> 3369 bytes .../snapshots/darwin/button-hover-dark.png | Bin 0 -> 2854 bytes .../snapshots/darwin/button-hover-light.png | Bin 0 -> 2809 bytes .../snapshots/darwin/button-pressed-dark.png | Bin 0 -> 2866 bytes .../snapshots/darwin/button-pressed-light.png | Bin 0 -> 2840 bytes .../snapshots/darwin/checkbox-focus-dark.png | Bin 0 -> 3776 bytes .../snapshots/darwin/checkbox-focus-light.png | Bin 0 -> 3530 bytes .../snapshots/darwin/checkbox-hover-dark.png | Bin 0 -> 3253 bytes .../snapshots/darwin/checkbox-hover-light.png | Bin 0 -> 3145 bytes .../darwin/checkbox-pressed-dark.png | Bin 0 -> 3266 bytes .../darwin/checkbox-pressed-light.png | Bin 0 -> 3126 bytes .../darwin/text_input-error-focus-dark.png | Bin 0 -> 6123 bytes .../darwin/text_input-error-focus-light.png | Bin 0 -> 5934 bytes .../darwin/text_input-focus-dark.png | Bin 0 -> 6107 bytes .../darwin/text_input-focus-light.png | Bin 0 -> 5922 bytes 17 files changed, 57 insertions(+) create mode 100644 baseline_states_test.go create mode 100644 testdata/snapshots/darwin/button-focus-dark.png create mode 100644 testdata/snapshots/darwin/button-focus-light.png create mode 100644 testdata/snapshots/darwin/button-hover-dark.png create mode 100644 testdata/snapshots/darwin/button-hover-light.png create mode 100644 testdata/snapshots/darwin/button-pressed-dark.png create mode 100644 testdata/snapshots/darwin/button-pressed-light.png create mode 100644 testdata/snapshots/darwin/checkbox-focus-dark.png create mode 100644 testdata/snapshots/darwin/checkbox-focus-light.png create mode 100644 testdata/snapshots/darwin/checkbox-hover-dark.png create mode 100644 testdata/snapshots/darwin/checkbox-hover-light.png create mode 100644 testdata/snapshots/darwin/checkbox-pressed-dark.png create mode 100644 testdata/snapshots/darwin/checkbox-pressed-light.png create mode 100644 testdata/snapshots/darwin/text_input-error-focus-dark.png create mode 100644 testdata/snapshots/darwin/text_input-error-focus-light.png create mode 100644 testdata/snapshots/darwin/text_input-focus-dark.png create mode 100644 testdata/snapshots/darwin/text_input-focus-light.png diff --git a/baseline_states_test.go b/baseline_states_test.go new file mode 100644 index 0000000..3026371 --- /dev/null +++ b/baseline_states_test.go @@ -0,0 +1,57 @@ +package mujica + +import ( + "testing" + + "github.com/egoist/mygo/ui" +) + +// baselineAt returns the center of the element whose text is s. +func baselineAt(t *testing.T, tt *ui.Tester, s string) (float32, float32) { + t.Helper() + r, ok := tt.Find(s) + if !ok { + t.Fatalf("%q not found in %q", s, tt.Texts()) + } + return r.X + r.W/2, r.Y + r.H/2 +} + +func TestBaselineButtonStates(t *testing.T) { + view := func(c *ui.Context) { + ui.Row(c).Padding(24).Gap(12).Children(func() { + Button(c, "Save", ButtonOptions{}) + Button(c, "Cancel", ButtonOptions{Variant: Secondary}) + }) + } + overlaySnapshot(t, "button-hover", 300, 90, view, func(tt *ui.Tester) { tt.Move(baselineAt(t, tt, "Save")) }) + overlaySnapshot(t, "button-pressed", 300, 90, view, func(tt *ui.Tester) { tt.Press(baselineAt(t, tt, "Save")) }) + overlaySnapshot(t, "button-focus", 300, 90, view, func(tt *ui.Tester) { tt.Key(0, ui.KeyTab) }) +} + +func TestBaselineTextInputStates(t *testing.T) { + name, date := "Uika", "1789-13-01" + view := func(c *ui.Context) { + ui.Column(c).Padding(24).Gap(12).Width(360).Children(func() { + TextInput(c, &name, TextInputOptions{Label: "Name"}) + TextInput(c, &date, TextInputOptions{Label: "Date", Error: "No such date"}) + }) + } + overlaySnapshot(t, "text_input-focus", 400, 170, view, func(tt *ui.Tester) { tt.Key(0, ui.KeyTab) }) + overlaySnapshot(t, "text_input-error-focus", 400, 170, view, func(tt *ui.Tester) { + tt.Key(0, ui.KeyTab) + tt.Key(0, ui.KeyTab) + }) +} + +func TestBaselineCheckboxStates(t *testing.T) { + on, off := true, false + view := func(c *ui.Context) { + ui.Column(c).Padding(24).Gap(12).Children(func() { + Checkbox(c, &on, "Sealed", CheckboxOptions{}) + Checkbox(c, &off, "Open", CheckboxOptions{}) + }) + } + overlaySnapshot(t, "checkbox-hover", 240, 110, view, func(tt *ui.Tester) { tt.Move(baselineAt(t, tt, "Open")) }) + overlaySnapshot(t, "checkbox-focus", 240, 110, view, func(tt *ui.Tester) { tt.Key(0, ui.KeyTab) }) + overlaySnapshot(t, "checkbox-pressed", 240, 110, view, func(tt *ui.Tester) { tt.Press(baselineAt(t, tt, "Sealed")) }) +} diff --git a/testdata/snapshots/darwin/button-focus-dark.png b/testdata/snapshots/darwin/button-focus-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..25f1b4216942c6c774154fd9b82b23473b1796bb GIT binary patch literal 3397 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 K)v45a9Q$u-R7{8f literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/button-focus-light.png b/testdata/snapshots/darwin/button-focus-light.png new file mode 100644 index 0000000000000000000000000000000000000000..876f93b82b9b8201902a3b0e0bd93f4e6ed75733 GIT binary patch literal 3369 zcmcgv=Q|q=*EcIx#V8tDQZ;I;+B-%|an~%d>P6KGN~%(&NTozXsTI4V_God(Otorn zqVz^o?L8Vbf;^r-;JKdn%lm#g*E#3Qxz7CkPW%JQyPRwwHaa>wPSblv)^v3AvKKlO zz;Gckyr*V#bR4^;Mh3Reb2ewg9e7uWEW2U1ScB0(j5dYmisj(rU0fDGTIG3?>LX8aSb)>906F^MNo~WDpJn3|%%i5{xQhWzK zKGEOi4iB&cTJfoe;YW*V)RCoMk^qKiit`f^yFLIw4;E!Yz5)UnApf@pEdm+3-YJ4@ zwNA-Mca-KcMfVAPQ}IoM7Fqj|e0?JWIXJt0LWN7lEgH?!V=+}N?czP-0||zMDE(#y z2Z2C}tu&w4bxYZvo)4P9uZl)Ml97TXb*K06*o{XI013f#&K0BtU!QQxJSp)aQNuUD+jYwj9VB9E@SyfS;P=>VI0Iw) z(68OCQrH;)V|nhN82;TnuVG14_r?Q*I7J1ykkG}O>v9*R`h!5?A>5FAz+WBn(_WIr zGn(ner76C)Z3w^JPLraA$M!Qy%90p>hyq~mR_j|AX}&g&`Hq~HuTE-9@CFcu%&{A$ zB3$BB>(F6>Xyg>KJfQ#TihTgJO#*(px}FGZhRd4T+gl8dVxQQqH;?sIdI*>xv6C2x z+Ivf}R(QxM?e4BHi}kfQ{ut2&b`dvIGdkpKV(opD6zH1@0Bmz#6>`r?9N&B(yDx1z zEfp%ZerLZK%E(_jYxVla?_4iPVk_Y&K_uq9*PM8%{o zwAK9QGGejkOT}7met=_sdOFe5ltV>iKMrM%wSy?jRI_H^(tdGEO@$FmDcE00m%z^k z(GL~yf-u7@^I{zmnT{b|UUmfD$UgN5RnMhU0|VDNqynru&*xg0-4$7#3vqY1k(Hy;be=s74raxAXJlrE zu8z#_e`3?pnm%SLos~9_zG`SNn4ElZfVPEDXlBt2E+=@e8 zq7A3~n2G))7`Nm$Y(_ny+I!VG^)&7&{k9vFBMhG!d5lO_LRVKcT5l6xZ9UomDcTb( z)NkBrtjUUBG~KIr@w;nmF58m-Ff%-CwYa_KXt1p$y?g?9+8Uvtz*QdWPb898Qipb* zKRXP$UYY2q^}O~`N7sa^s(pV(72>2`5Pb9PJzn0_1oZuMIa*KWMELOb%PUvX0EK>Q zdfk-{9rI7^YvSGO9MMI3O<_B_kk#LE)0TPayw~?ENt=$ny%`T*Hs?Y4Y$2t{no1;- zK@Rlfn4+_BCSZJ`kWiUHT0G4>?=Ku@3&zx!Qf5wExKe6lu5ca>l|*LNPQsAWgFCd@ zv8hG=UoUnbxLX;WAtE{OeTGzT<&iMTU{SmPp-T+8-dAxdU;=H{wAYR>mn)I9v37oM ztNQym$@Xpwg|HcQ`fc8-Xhw;Hor5B@aaEL$+(1|XBV}a=78b&k1rw8#e<~Gq{$9879485FxV;nIw^N6Kpg^#SolO=Pmiv>b>1U3WNzP*K$U!50>u z9C3CUHycc^EJE9tnT~9KRVW{go{5B+AM(-z?g~C|4LyvIE(#R!{;U*hcv}2d zzu9(z;LF4w^hu}6C$^835a;vVy<8FbiFDfs`K$9m>i(Bex%qQ@0?{L6p8dY1`r5J` z*CVB@F9li}dp`9mexnN8TAh2|dhe>Lq{WJosJ22v*+7W@|!%?5~P89z>Y| z(sq~9MpT0Q7m0%_s+-NJ$%#N;AAjjyeoo3Yizfhs+P_j;BT+Q-2D7DArJ0w$J#~HI zHc~YyiCIcNA}J%3BM(3!8+Z6P>3wC+28(5K8fs8jk%Yfk9_YPc?_D54gomf-{o{{6 zh9BkVyns!VY}i<*@bD@$Hmc`qMM1;(f@$ZmB$Osr|0jZK`G+N>C|T8eDCc6JSedE; zg+G6`zoOHdwJ&v$T@IScjkpeE_<9+@uDtWNbXw|n*5XPXfj?m8o(L6^VM#yiQCgoJB%4@n?*G`EmmJ$IHXdPt7R(o6L5Xc z>M>j{Q#UsvIBThO&$ddq=if#-)q9?wY7EIU29g`E2(^q4&rNlK0`4uo>|M6M4nBY$Fdv-HwklLN3&I7Xa4N4fB^XJ^p3o1 z>$}J;9(9r!N++%s|8XsUryCjIwnTUo_cvp_h@MW{COZb2+e}rQj9>XI#RGo#+v6lT z{v4FH{sXkuBtr}l%OexroXoZrZ3*Q`LvC6s&+vyV^Xj>-3RP$BUjBBj?kniccy;w% zBDqBwM&0g2XZYL!U5ZsY-ijAet2O`(X6s36QOPgrmVc=SY|s241bTbCnIVq{95gVG zUjp9=Kx8`H&_GbW4duFJ;c&8U=O3fm)sZ8_BbWY+8du>q+cN*_itQ4*k%uACTQr$Q zP9i<|QWQ0F4N#a_X%kRG)8FX6tu|lFH!;?wd5mUJI>G%ByMtSflPF)X!;BKRVBa3} zZImU=WeA`OUYt#DP7~ps%hyPxog{OKn)1r0i&~-T4^1Reg|1$`Ds+g~bj`=%pc3Qn zV<*zn)4RG%*wNM7e3^aLKEoKE+^#8_*wv$)##j_+pL--HxHA>`wXV;wHlo|^En{{ zV89BR5pt&gs{@PUBJKDdzim|s?X zt-j?i&8@NF>-}F$ptkmTsojf?*es1(8&k~TX-3%ZmOh~~GdL|XYQ*M#j`r-E(yVLB z{>9yC#Y|bzdh*#i{)>X;jKFn9h*OwBBqCi(yyGb_%IN5bdw!uz1Hs>$%45YAULoWZ zMn5sB1nY?F2q|tk));%WdjN2W(awLo%;yQTgzEm^eM%1_2zA!@Oz+Ib3eQ++EdP7*eu4!`gZ~YV4_FH?m@@L>!u>xxXy43^=IH5kw}Jvk UQjGmBULZPCV@soI$fKBl0lhaoTmS$7 literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/button-hover-dark.png b/testdata/snapshots/darwin/button-hover-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..69a6751e6c05bfa30cbbcf59d5be8e197ac3d865 GIT binary patch literal 2854 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 CjXRhC literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/button-pressed-dark.png b/testdata/snapshots/darwin/button-pressed-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..037bc0df75b0dec9191405f1d9c173c1dd03657d GIT binary patch literal 2866 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 literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/checkbox-focus-light.png b/testdata/snapshots/darwin/checkbox-focus-light.png new file mode 100644 index 0000000000000000000000000000000000000000..fe3931a2b5a89ac0aca8e9aa0b05c3320082bfd3 GIT binary patch literal 3530 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 literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/checkbox-hover-dark.png b/testdata/snapshots/darwin/checkbox-hover-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0a90d03c020874f02204eb05e46efd1b8a1825 GIT binary patch literal 3253 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 literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/checkbox-pressed-dark.png b/testdata/snapshots/darwin/checkbox-pressed-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..b1fae26d2b82bef6b8dd5580ee9e0b00eda506e1 GIT binary patch literal 3266 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 YP;Y=Vfw&QKtlb1)YIxtE66_N7A8kr8-2eap literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/checkbox-pressed-light.png b/testdata/snapshots/darwin/checkbox-pressed-light.png new file mode 100644 index 0000000000000000000000000000000000000000..ff4283a4c419a6c73ccd989975e92917e7b415e7 GIT binary patch literal 3126 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 Xetcgq=nLTNA7IeaHrA@tcoy+*-=pj8 literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/text_input-error-focus-dark.png b/testdata/snapshots/darwin/text_input-error-focus-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..aa5392ffd2de99d819b11083760a78841121861e GIT binary patch literal 6123 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 Qr#*p&DoCYN$vp5s0KoNqFaQ7m literal 0 HcmV?d00001 diff --git a/testdata/snapshots/darwin/text_input-focus-light.png b/testdata/snapshots/darwin/text_input-focus-light.png new file mode 100644 index 0000000000000000000000000000000000000000..c12bcb374ef4af9664f15530170f5b0ea4d8d49c GIT binary patch literal 5922 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 E3kD}Er2qf` literal 0 HcmV?d00001