From d0a084a7c72325d57143017209b7dab66abeab42 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sun, 23 Oct 2022 18:25:59 +0200 Subject: [PATCH] YaruBackButton: add golden test --- .../goldens/yaru_back_button-hovered-dark.png | Bin 0 -> 463 bytes .../yaru_back_button-hovered-light.png | Bin 0 -> 471 bytes .../goldens/yaru_back_button-normal-dark.png | Bin 0 -> 487 bytes .../goldens/yaru_back_button-normal-light.png | Bin 0 -> 472 bytes .../goldens/yaru_back_button-pressed-dark.png | Bin 0 -> 467 bytes .../yaru_back_button-pressed-light.png | Bin 0 -> 467 bytes test/controls/yaru_back_button_test.dart | 42 ++++++++++++++++++ 7 files changed, 42 insertions(+) create mode 100644 test/controls/goldens/yaru_back_button-hovered-dark.png create mode 100644 test/controls/goldens/yaru_back_button-hovered-light.png create mode 100644 test/controls/goldens/yaru_back_button-normal-dark.png create mode 100644 test/controls/goldens/yaru_back_button-normal-light.png create mode 100644 test/controls/goldens/yaru_back_button-pressed-dark.png create mode 100644 test/controls/goldens/yaru_back_button-pressed-light.png create mode 100644 test/controls/yaru_back_button_test.dart diff --git a/test/controls/goldens/yaru_back_button-hovered-dark.png b/test/controls/goldens/yaru_back_button-hovered-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..0539948e9065496680aa7a1c755175b4d4b76621 GIT binary patch literal 463 zcmV;=0WkiFP)Px#1am@3R0s$N2z&@+hyVZqc}YY;R9J=W*rBSzPyoj9&mnd}I3`^jxHnKx!QfyB zCs}+3pU5f;OM;*a3l@`UWnr?kGFUMTR>r+ekcAu0Cs*+NAK>Fx4(DvG$z<|_56<{+ zz+Y*gY8t4T2CAlks(mleaU9CdTY%f`7M5jEw&*}9C2ZS9k|dNpDsVI!VX;^siXt43 zN6ID@D5XSMme}ofv`rdNN{PW>fFKA^RTXQN0~A7FI-MepV}xPIn0!V7uGed{+im#1 z&zO5j8EBd&EXzU^MaZ&@VR}g!=r|7Qy2jyfV0aoS1ADz59*+m|JZE?sDFbh}8-x&8 zE|&~XBW2*}bV5-S7>~ycPb11HzFaQo_xo^NmofJe1$aK6alhX&pU=_lb{Uh;Xg7)P z`{;B!*laeeNdQD(nx?p3udrUuv)D!91ba)^!MO?zlUKMv;#v2 zrfEvORa)=*{U(H<+%9kXXkuM`-}~9gN&{8XK-E4T_zUWiWpr}|M5F)!002ovPDHLk FV1f@+z?J|2 literal 0 HcmV?d00001 diff --git a/test/controls/goldens/yaru_back_button-hovered-light.png b/test/controls/goldens/yaru_back_button-hovered-light.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9abb300d9f8f5150880b9f07520d5fc031d18e GIT binary patch literal 471 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEjKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|DA(xe;usRq`gX>~RZRgh?e%SXYaN9w!iuAtqh}`sdrvlPS^p%hyV==UPtmSn zhsXN~0aqS963{5y&V9Gddd_^2C*K+5<>wv#S>0D+H(&log4KJzAN^(lQ{d=5@1D5z zBKMW0H;_7v;Z@mA$<8EHh zJn literal 0 HcmV?d00001 diff --git a/test/controls/goldens/yaru_back_button-normal-dark.png b/test/controls/goldens/yaru_back_button-normal-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..2c943bb7b40fb4e0ae13d8d018ffad22ee8cf7c6 GIT binary patch literal 487 zcmVPx#1am@3R0s$N2z&@+hyVZqkx4{BR9J=W*rBSzPyoj9&t0{PaNsn>I7G867C{!A zpy4Eo4`IFUU>3`g!axl^f=!DsL>9D&MFa(l=uKCUg&WQ%S8)Fa`1rwKXJ;|fH1Bxh zjQ=~ux%TQ z#R8t^Q8uYSr4-KRGrHX_ZIcF6N+FZUU^1EDa=EZ(IY22TDwPVB%O$4MDP!^x1=wn} z5Rb>#JK}z$yk^GZF;=S; zs?{pe=`>^V5$z;#T^Gq@676=IH3@+9hymbmI3Sfu!LlrzPA3FGz?kKJEcE+*Y`0r9 zn@wc1S;{8;d$8B*!7vOo8V$-G9k^bvF&qwQd$Cvjev?vCPM4Qmnpj8Q=UzKmML^vm dpl)vu`~iU}Y-gDMy6gY|002ovPDHLkV1nwN&Km## literal 0 HcmV?d00001 diff --git a/test/controls/goldens/yaru_back_button-normal-light.png b/test/controls/goldens/yaru_back_button-normal-light.png new file mode 100644 index 0000000000000000000000000000000000000000..6caea0c7af9af90dc6664374d887f0ecf7aaa135 GIT binary patch literal 472 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEjKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|DA(la;usRq`gX>`Rfhs(+UqCl>hjC99o@Ju<3fh?oV1O+%|FzxN$O~``8wAy zOk{25H*DUq$Wvfj;k(?X>jj5@b~gQ%d+<25a@l1~oAZl*tZ3YRn|Ja_mco{`rgVzb}0KC)nGvVE_HYCcZ!Roqtj3WNC2PsA68b+hbE_&zrYimTZX7 zneg0l@pI0n4!5@{wj8M1oA$-VF;ZNSWs=Ilj}<8|;J}FVdQ&MBb@0Oh33CIA2c literal 0 HcmV?d00001 diff --git a/test/controls/goldens/yaru_back_button-pressed-dark.png b/test/controls/goldens/yaru_back_button-pressed-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..f14182c1a4f21d4b8a263595075bccba74943cb0 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEjKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|C|B$0;usRq`u6(5Rfhr?j(vQ8Znw^fuq(@Uh#TbSSOi!c-SB|Nm1y3J}koa!4b5nxF{FsA(_E;>Nzm0cCMabIw11@wIA-u2ldB<6#4VrO%Pd%yY2Yh7{WNQ$gpu0&z=q2&MS9(s9R&=Y$xUJ_ z+a3Gmcdbici;1t~vi2oF+ZO0}>rD4!}Zdh`N%5-ZtLYJY8C{I(NuT_`JIW#B2aCQSR* zJ@ed`{=fgqJ^ws&)7MS@!mnTbzLT%M8WJ*Z8~4vWl)C3xW0M0gVi-JK{an^LB{Ts5 Dq?W^A literal 0 HcmV?d00001 diff --git a/test/controls/goldens/yaru_back_button-pressed-light.png b/test/controls/goldens/yaru_back_button-pressed-light.png new file mode 100644 index 0000000000000000000000000000000000000000..e26272a3b2ac1259d2a64be6e1a45504f083fe63 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEjKx9jP7LeL$-D$|Sc;uILpXq- zh9ji|C|B$0;usRq`gVrm=|c`O?e(+6dk!hC*_maOVf1p+!9{I9e_mTB!E*Re!VQ*4 zi8snV5>jG3hj!kK`(V1~VcjRLcRv~U`EM8g-@Tcy-MN?l*uVD;`!kq)GhyiGy#t?r z`h4W*dMbYWv0zlThh}f=7yTK}EvEz(#7=*-nC)JkIg2C1{qGmwmTCHBCCD5vkYR5= z*zjx#>pVa8mc)*qHGHQxMMU`}gofV8F^gCm_M*g!=PCb`11g>cd*ckHdL?$L_b_k0 zcH?c?jI(JOTcdiG0r{JCoOj=K+kZd(%bo-oplvbNTXXlPYe+`7A67hMaO7!GB1l4G zY0LA<8}GmO%oEr6pK3K%sY^-3_230tN6slhNjqbbcHdpJZs&W3EmLjf`U9t_PEtwK zWE5a-6^PIg3-DT~<2`L!b;OIWRWp3l0=yp9?GK*wMlbJ}~CF=e#PpaOX5IVi-JK{an^LB{Ts5 D%dN~h literal 0 HcmV?d00001 diff --git a/test/controls/yaru_back_button_test.dart b/test/controls/yaru_back_button_test.dart new file mode 100644 index 000000000..1fca9d0a7 --- /dev/null +++ b/test/controls/yaru_back_button_test.dart @@ -0,0 +1,42 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:yaru_widgets/yaru_widgets.dart'; + +import '../yaru_golden_tester.dart'; + +void main() { + testWidgets( + 'golden images', + (tester) async { + final variant = goldenVariant.currentValue!; + + await tester.pumpScaffold( + const YaruBackButton(), + themeMode: variant.themeMode, + size: const Size(40, 40), + ); + await tester.pumpAndSettle(); + + if (variant.hasState(MaterialState.pressed)) { + await tester.down(find.byType(YaruBackButton)); + await tester.pumpAndSettle(); + } else if (variant.hasState(MaterialState.hovered)) { + await tester.hover(find.byType(YaruBackButton)); + await tester.pumpAndSettle(); + } + + await expectLater( + find.byType(YaruBackButton), + matchesGoldenFile('goldens/yaru_back_button-${variant.label}.png'), + ); + }, + variant: goldenVariant, + tags: 'golden', + ); +} + +final goldenVariant = ValueVariant({ + ...goldenThemeVariants('normal'), + ...goldenThemeVariants('hovered', {MaterialState.hovered: true}), + ...goldenThemeVariants('pressed', {MaterialState.pressed: true}), +});