From f8911bb6e3087898e91f686ded96a3db874d3eee Mon Sep 17 00:00:00 2001 From: Deven Joshi Date: Wed, 21 Jul 2021 15:02:57 +0530 Subject: [PATCH] feat: Added tests and minor fixes --- .../lib/src/gradient_avatar.dart | 6 +- .../test/src/goldens/gradient_avatar_0.png | Bin 0 -> 35488 bytes .../test/src/goldens/gradient_avatar_1.png | Bin 0 -> 38197 bytes .../test/src/gradient_avatar_test.dart | 82 ++++++++++++++++++ 4 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 packages/stream_chat_flutter/test/src/goldens/gradient_avatar_0.png create mode 100644 packages/stream_chat_flutter/test/src/goldens/gradient_avatar_1.png create mode 100644 packages/stream_chat_flutter/test/src/gradient_avatar_test.dart diff --git a/packages/stream_chat_flutter/lib/src/gradient_avatar.dart b/packages/stream_chat_flutter/lib/src/gradient_avatar.dart index 0cb8c41c..dc97fb98 100644 --- a/packages/stream_chat_flutter/lib/src/gradient_avatar.dart +++ b/packages/stream_chat_flutter/lib/src/gradient_avatar.dart @@ -47,7 +47,7 @@ class _GradientAvatarState extends State { var result = ''; for (var i = 0; i < parts.length; i++) { - result = result + parts[i][0]; + result = result + parts[i][0].toUpperCase(); } return result; @@ -112,8 +112,8 @@ class DemoPainter extends CustomPainter { final textSize = smallerSide / 3; - final dxShift = (username.length == 2 ? 1.45 : 0.75) * textSize / 2; - final dyShift = (username.length == 2 ? 1.0 : 1.8) * textSize / 2; + final dxShift = (username.length == 2 ? 1.45 : 0.9) * textSize / 2; + final dyShift = (username.length == 2 ? 1.0 : 1.65) * textSize / 2; final fontSize = username.length == 2 ? textSize : textSize * 1.5; diff --git a/packages/stream_chat_flutter/test/src/goldens/gradient_avatar_0.png b/packages/stream_chat_flutter/test/src/goldens/gradient_avatar_0.png new file mode 100644 index 0000000000000000000000000000000000000000..0906f11aca5a82f0fd4a2f6d9fd4cc712b5696cc GIT binary patch literal 35488 zcmeIad0dj&7YFQYWo22@l&NW}I%=g^noDTQl)0CRxFK1lDK4er21=8bGvn5{=3ZlJ zf`EpIE2d8RbEQ%sMMcMj1Qj<##pMOm(Ru%S|9L;}BA-vm1JAu@x#xV(x#ymT-*1~6 z?%gf3TTD!BuhFevEXBlj-4zqtDK5T4@JShE@q59aZ~QC`uZdyXkB$m1zW2LkWGyau zA;evN6B9cwX7tNd>!6IW-Ws1Cu3Y03FZ1_zSHfTXaqFk&Cm)>rLv<+kxMJzjuB@kj z|F3nw^rsWk?;*8+*V+F5G%@$j&&rlX5r130I(z4bgZE~o>2lrB%)bNL)fk~jefdG& zbNKQ%7NLC!U7i890?MM-$MbOk0jw3OjojEoDPXwgoR?>3+xU2?ThX^2r8_t7djA-U z#nBuBCpu^U`B0jlL06NM?_?5vh=A}z`|p0UF_+!RGZp4feptV}lK*?rSB-BDZ%mS@ zRQDJ9`+q6VJ{6BT_v7YZ+3UX*_4Re5*y-sf3xC}*t7>Sh=nF>mj5&r;p-?9yzBy@i zN254Y9s&enz-7n(`%P!QIQt<&Q>jj7$Cmpkk>c#Kc@Ogl3i8`C8?1$3S`JX%rzjcX zXvP)}oup0`-uMTtbHE0n=@o+oh*FtH^}c~;mW3*>bJ~p+O|ZC<~_bSZ&BKBMK%W@ZNC>)Sp2Kn z_pdM-b@mU0!m+eAg$pPCA&&lCBpi5CxSP(Y2W%2VtfgXs?W9X=e+UGA;q(&7xTCbF_HKX~Q1QO=2f#eWi_TgNg%z&Z^kdeJqA*+0e6 zSIzftDE$f`Gi$l`P-9cP@BuT|Df|0CjIt1$E0uG+HMq~>9mFHw+E=& zn}&VY=oj0;Q=6(+_|Z8gYIAV1X@sV{5IeriiEl`K3OCVsD_2unjbrf3*QBO0Za|f4$)DjV#12_Oq50b}p3Gokb{W^0y~L$}M-o z;ZAkBzitw?`T8(|ONR4UA81Z!DXimYn@(Mm%Rfg4lsCmLx@UN*u!d3XAY8)f7}@II zi}Ik*lZ6L2wfgECi>y;WIqwbMoLS~%os9gZ`&_&gp?PLgJr7@sL$x7BYvG-k$UU_w4#*C7vCzFVx33I=30gb5Pi#9N<0xq zZ^5b~;s~7-c;I?#-o9;wJ3WgL9=Fwhm7AFx@)X zwn8A}mca@Q`<=}kx`o-E=oS5*!sUjr+cVRgs%#<1MfXr7&zqjm?lNBYEQH&335{Z< z2>fe?PCUjB)ktsKM?bPTwlOC&v!aFo+*w%(3-!ZOeR@%ZJyP9STvG!i-)niankUZ> zaKE49?d=0f+CpoloW5; zn^+o!D-Qj0-lKijwG9DY-2v+x1|`pH6Uct&sQ;GB1@TL(wCzx&T%!tp596*qu*|;y83_0 z->RP{ZraLQ?>^ICwv|-TE2XWpLpS_``y~xkGQ#0Jh_o zElKjN&HQ@*mOT38=6?0cmQ?$<%?*#(pIg%FEnBSZ$^Wf%AKzBX#(r(vS~e?6+fMZF zLFYEM{CmhFwhg%($KhiC7a~!>-F9_B7#H;d2*GAMDs3G3if!Y}HqNZa-~S5^we3V= z+fivdDy=)tlkNS{zYPrAJGqIbu#Sn2H1|1PH}e5wnZE4l-rL+)@1}&Whh1u2Sqg~e zafpoiyoG~MZ|}x=M!K704S98bf-eNX_YZWw5mM=w$r}vv2%L3W0%SMbdE$Q*GJYzD zu*{qzE%*Zb7k3V#d((aN<5H5J<_$7^t6U#z)$kU^I@~JNd>ZrJ@caF9;aLDqS6VL{ zhy4*EocWQQxu`Ty_J^JN%t<9MX3XGkT}fng!V{)KU3Q!E$MQ!W?!BKcq#MyE!4>fm-bwI$vudfLt020#7(hW z;THqS;ui3W$gEF%1GS$Z_ZI0u13D+9*Zh7^l=NU-2i~BVS^k7ckNRGaj{$hF$j1*s7>Ga*E-bmcEf#7tsTztu zpFZB+>U#cjlV@}>{OdPeO^CTxCe+)h<~`?&2EKKRWFK#fn$>4cfS`Ha>}1E0!ExU)?mg$u0X+SDUZk6oY6D0K7c6W6?Ef)C zSfoW32P)BHPSaE0B2S5F)joU&i1B};`?=qIf^YC4^obrW-q^6~mlpXLirDedM`byu z!hZuUghHMFRKIlLQeeZ+v~2iy?@!EHqq|9;fzYaQH@iMOq8!nakH+-Vc0&{j8hz|( zm2;k?lvodQJ)*oRv@nkZ;AlhGU?MsY7Q@qL-^;GFW5R<{CxM{5k^;`2;LO(S?KsK% zD=W-AbOx-E`sTu!*+li*dapW(SP3d9s~dHax(xTgu;tj|@XW-$WJ(AlluS}Cgweui za&U2x7c4<;>=8CnJ-Hr)oqGyqr$ghO2TL3o4z9bR2W-$a_oY3q9<*ytdv#|f6c$Us zYSugDDwg-n1P2C<)c!oo8hJE;Zbw=PW)MSosfc<_k9H;}VdDu&Sa}r<0?n!KG5|rr z&Xt(__ExLot{g3$T&h8}=SA$cAD)=;W=^0EmpXd^f=?lYRfx%*r$u$~NBi}jV=KB3 z&OO6UxK)Q_`od?*$jjZ}dJw;`(ty!hcs`%IBpYre_stuu3MBKy8|s%?E$$L9@U3SG z(|x74+b`BUpvNbDN{%MnmQVguB5LZ?jz}^#Z-aubreXW($v<}g^bL(eoUzReo1$QTh`3`3Yguu+dg*O178rQ5Lbq{g9N2WoITI8^jk+_ zV}HqgMiv}Xl>)m@;Ku5u1x*9<9tA;g#+~SUxfl7lH2n??t}3 z?;q6&Y#P)@X>{*b&)w!{f51}5{xpNn0@GP`48%^=`=dHDX&3yXDIg_>41QRZQV^9e z_tm8Z0Pkx|K)db|S=!M*4o3(%jV$WCR}|pL-radI{05XNzn3|_leo{^>%erE>d}j~ z`pjSLCC|mkneiU7X$KcQu*x}adOZ8s&=R?^5Le*@PSLwX%G>$rt$Na!?Wl?zbf%~@ z3rReh!IFS@y?w+Tngp8VJ-Ge|rF5FBPPM0Dk5FK-eZ?Qb65{CDt6_*?aNjCG#!t~< zf}*pMNC0z${ftji)=lqccqCS4ud7`Lu3Aw`F7 z+e@49bg0%VDuXR9+O}a#i`{^;bLHi9KOC4t{Gcu5Q_XnINB3vx`NL`g)J+#=-HE$F zZBqds@?~d>=9Q+lIRM$AJ(I;L&~)(*#zAv!69IW4CQ(MqI)rux}$z4v1 zqkKZU1f?C7Q_?Y3)GWX!szFBlSn9CJlp&y5`7$82k6SWLp8#~?vn{a=dYA>30d#JW zC=RLJSZCj+PJzCl`a6!_x7wg_gdpx0rPtqCYsYUUZb%FuLc^s<-DFElyeMU%0eI?zs{a}O8 zgM%KgdEm}Zz~KT|Xv;^+by)sPwxzx!qIwdTQ%4yoZ#43@!4ca9t;Z&@vGE$Fu6EYN z6-J5)iFEh)QA9QveFfH9fD1EU7%zoqpB^4jEUz}wFb!R%4FN5^!%SR>Y|e!&uV4~5 z%bD?5xOz@$V#4h8{R#ilX!f2@g*#GouRA=LuNwa$yTRH+kFcjz%1z_(oyS%(B)qM#tDl0i zr-xg-ne!e4s)yDb_v+djzRHrR@Q4QYx+rAKytz%5hf5e1xG@xHZcV+~(n`Y>;9YEG zru_xCHYe^_WFkZD(pY+9s0=?zGJAw!zM4^`Z=P3^Z#sgJXMctLF)51M$2NqS1-=g{ z>pM@)pzZdebP$!ZaVfk$<*E*>E`cu3oj;=!n&7)|Vz>oY0P@k|@Fp|Jw|hN0x))WN zQmECmak`~P^SGI>AV4{@77P^Jcz$X%F_S=Mjj~W>B&~0RPe48S?k#R5-j^G9S;3!h z(PvggIk4+&RmXX^MzPxfc)Emz6=|tLTuDLtXnxOZ$>E-$JSu*?BJaLAAS`Km{LFt9Rn$ z9^}N?YnHikrXJRX6{|g-vLsX-zmz$)|9cb;X$s(-ZFVv)O%z-7zn$vg z`IUk@xCldoizDYs9HhMA4Y_Qiyur>(9WL4r$I>Y<3+!wXl~V^2(qrsi6Y%=aMhnAQ zTngk};8&0HHimA>pp>Xk`XOxhz?+5)*CO}y;~yWrTpS@6)L&B0Hpp`fbJXWA_bi6A z>6Dg{D+r-(oIMZr-khOEhdSqCQTH5xe}_~#dF$tg86fg@gD@AyE0l!v)Xdi`;x4P| zM=H9;KLR^K<6i@rIHxBNXR^~(909FO=HI*yK_oAZs5SW~PEYX?>Ff_ZCDb#~EravM zw@|=dkNhW}50j}C5Ws?;#)OAt*^M6xd9$2Jb(g+I|`+%IneOe+DoI4 zSHCMc>S#X`OnsbPk_C;t;3fT31<$a8WNS9?_S(Uok+jBk3CO&UI=Gf@B*q@Uy`XIZ z2qkLyb8jo4Pp9^BCDrSKCTPwi%5{zNwyyFh$H+*f1~2+EX(wsPr` zcA{4jn$H{y8i_enERRb`wy!z=Az*+`MSl+#()Lv1wp_h zkrsoQlR&_#AFH347$>xP7y~()G5#Ldn9;!Vg{8-MeFti|WKCqDCnz0xMOn*<(+lq& zPqh77kTjLc=1CIUdK%foi=iwFTo$g5(vU3_@#xbv5WdQd2$jEP%aLdHM8?WLHO%=i z|NP3QyDt|PvlE&s6B#vc9Ko<2gE-#9m9eyrnWM0I-PBmw69o-+L~ot48!&Wia<~bv zQV)u8Hz4O-xR@ObexxEhLQO;?->l4+4oc9UqZYF&L!Xa`EYm4|ovc4F*#n#&eeAkz z+wMD2I>Z08bl%Y27XvX5K$KK_Oah;q#&th`k)JU~ftI+TIKddX(vGS?qpe0_; z`P2(*$g(z03s!?Y&@6~sx8zo=nweLd`4%zD9cc{Ma}sCtq2ZS_D+`= z(2<>x^J%G@dl>LEjV7p(FR43n zN>lN!<4pI#8{8M6zZKy9b%rw#Rnpd7X~Va&zcw+8M$ieEFcp?2>z=Ya*X8#p!&J8p#GXU8Pf{w1Yahv%s2H(4S5nOqMo<0};GfoW#;K=Y zTL;xNhIJ#8CV|!>VAWP%&nrgvg1O&g1bEW!#cTn@-@ac8480MKB_@FM!uhlec)a*@cZo#6QkiOI=yBI z2?;l@Kx4e>K=d6s$?ZC(K3p^bda37BDrh-G-2SZnPHLKIgB8f_dBx7N*X&}-c?LUkI`M%`W7_2vCJRC7L+=RWJP!~U zNMQYC+2OKWtYp}9$7n~+javnF#iObvM-g8F%N&{9)B6`i@L(&#mf^FRD%+%4$0o4<07`aiX@KTW?T(_Ia<}UGvzFsWP z%5!wgb?i~hy`wPNXG6hKTaQUFlU^<+-mon=sx~6mW>B9K{A%=T*gq$K)|3nE!4D!- zd7~9!OJy7_O15A>C=8%Te@4w5Mt}#<*di;v z`3sqtKBcC5Z`0yVVf+|F(6iG%Q(9kGA;w~&R=k#zr^K?#U_KL#r z#IdHafJQ%2RVriMF>()7pqQNa+Q+^Z%*(6H%Soh~&oAk6|Fc^pmGHt&U=~@IAAFXI zXWf=MgjehsAHmUy?eb^`%w@W|j?8I7YdC1o&N2k$#qGU+Kb@rMM$hNoRc>-A5&zSx z0N?z@SGM`Iat+exxsO$ifqD5#+&EA8vl;z%yViEyR{%O@?d=KfX60q(3qc7(BP*=I zzj5Gk6d>@TX?eL>pZ7tMN2`ts`o132ATYAae??kiE1y#K*i?FuaZDepymb3v z*!Ry|6V9ScxP`rLZJuc^X-Bh92V(l~j0RIvyaBfD2~&q(zl}+1m>@G&eg5j{J596~ z{ldc0x{YmHq_xK>ZNhxwhk45~l-5X|W?tt^iJeh|aSzD&B;_#AN1(s{PhB4Bp6*`b^A4C#yi1|l zDQmgM>$mF(eN!t?FR%IiGUIg;M!53aPOpoB`)C{+-_etA7@Fow{_m&RMSq+PkF}H8fp04uQRlTdI7EK^mf*g-Pnsr|XqG zzb76bOgVSx;&45GCAji=2&)8+NLT-Cg@zE!8jVsF1Y34#pT~J~{N4eQAugUidcmg3 zBL)+}(Hav~{G$$R)ML5m=Y*>$rHGP>Yfb{yk9f~id6_jfeVW?mC7!)sp0(FlbFL8Y z5}@Z}q@CK1zV8*vIO`xOpQ#X-Aor~cy)?v=+*=G*5NY??df@1;Es%N}K*@4oAhM@N zJJN#n9%AK=Dg@#upbqdn^-s%sseKBD;R5hC0@-?yso{n>L)d&4h_;dm_fDgK3Y&JW z{wS)Nyk2*?&n5!%p8y4B}-S?w~p?1f-UO_A*uhyI)kly zfR!F?IHi1Lh(3=zDzSUq(z!sf{;Kb#F6?r@iFJ(!F4cU*z)-1a-kV1a*Maxk@94_< zsmi_(LVssDDT@0q*5Pg7#FZH?8r;UzB4uYN5RZYv9V8jDZgfE{$E9>|N$#@d$Igq@ zW;b(Obm^otLB%q-%(J69dnQ8?K5<)TEsZ;|?sl?It())yODE%Sj9kRZmkL8eanJN- z;5b~9qf?nlJkg_baMtw1UnJhA2fA6rpN<|?N~omD3;fz$6~X^{(uUMvz?pi9LN$zY4x}HvwayR&r6U@;~2i42O#*dcp^#v{cRvbOI7M+?Vzt}jsHy6#3_y z$W*9LaQW7K&|BPt2CIMi-%!nN!$B(w` z#C5}QUJl9;!o!?L>!%z$KVfw#N09dj=*IFH4tGhAdrHbqq&GeyTSnFGWio~y(r4YQyZ~a1&NjJJy(|*9_wwih#hcpS$Da=D7<%|pV#f@=T`}r5^EYC}vo{;gSR|F>?Lt%)FunO+Ew3#6#>cecR(G*>QE(HqeK+I0 zzH^H*26wn?q@Eqo{A^W!hbJEjPq}PU!_q)E_1;^x9C4FQ49+dI(<2ZX&efu^H4aQh zF;`BwG*YM5mPVZn8TT+MDDV+%BWA-iXYts-ENKLcQU;-#^?;h?fdnjis^$l7#oycMLAfp0)b?B{R7h*IelWJn|opnWi z*=HG_f~Mysc$8v|bWo#xU~&?_7Xmr>7ri|5lt2zKve6ov-p;~z1EJmkWXkjcFH7Zi zdiMeE-QRP^I<&NnSa&q!$=`ueHRtR=Z?11t`G#fm=+n`kl>#ZJ?;cF*7sa!y>$q3f zF!v;e?eIL0)s>z|uE9Q!4k!o!zLWW?BcmYQ<}lUU9zQKX`713;6+t=V!Up@TR@L92 z|Gk%~5`F`Q+B;JUpyy2j`G-MLP279!lU^(~%}6@GC+wE%AOR{&73M3}gUMe9_I2aC zDa}hc11wv39Hv|F>t*T%(Id}ZPbeBSU;yxT+Nd=B2W(|y-fb%;|A@ka>(IYX>!=uk zR#-pOf#RTt{RBri7RL@t-7LT%Z^g#NSH?MH2v_(Ca~*QUxL+ahwH)Py7XF_LaTtg1 z&yg`cf^(iF`WyvY@zgAQu=7)Pd``AigJD-svQNw89k=ukW3+QcgUOr1rm=?59p3yMuCg*Iq=DN^_OC)P5u zh&=;>a`M=I`)<|}bYgw?iafgptl@Uwy9u-gX(+(0CTH}%=~+r6)S_>G&6Cg0MJ&K7 zJwO7T3_ucE;-^Pdnr__hO|$tml-c)Yc4;LMkTS>EPqM$HuWdfzs@DVU1zhS8O5l(w zitHOo-;X|#=KDC)k=n^wHM9&fOLaV>HoDs`#yq}~-N*q`u;we8<+8a;VSieB%kZ3} zz65))YqP4eEsI$?yn^u42`kH$R5=yIp@B8GN?miS*Rv51nEoa#CLf? z2QEJZl98t6^VP+)!7%PTxoOs{IX^uyF3`xEW?kk1tg)9Z>n2{aS#BOck8t<$kM511 z3R;$j-&qjlHF3Ar^TLqp7voN(PqS~ZMlG7?0rmsu#E zH#DR%JeRW2I>WKlUyYZDwc3d^IcMC=XTNa_V0ahQQIaXSHrIY}_#QD=&`@GB?_pI` z;2(Xq7kzqgG}*0dz)_YLWIT^5=cG+i^qqACwl0=sx+cSm?yKpf(ui!e_)bAt@T_#0 zv3I-W%<7w^kkt6}hVD5MTg8#!AURWsz7kXS)P!^S56#c1bTA7#XPeQo0e zw>fXWStECP#Y98foOQh1%es;!Vd>QoQdEyzA`cm?x+Pz?1i(|UGo{(Nd89?>zQe^j zxXy`ClSX;4AAcgyfH>F#Tg*?S)5m0NP{JIK)H<@?Iv^cyW^#3XX}ka3^pzOSvj%vh z+FbuMiJk7xGb%V8WmLNXlv-=&`TS)(?jIYbwEc|M55&dxYT&#|?*O_(csx=;4yqX$ zuu9P%p1!|!!v1yLhi>aV$4%rrB8@@=tL8tyT=B&0tgN$eUnb>I7>(ODq54R8*U?82LcRWLlA=Mz7;eM*8OWCwkS=s=M-D7%zi#3 zNYu{|!hG74Az>!V1LObL!#Q9TN7xVe5bStQ$Rn#HbnMKmO*u=3ezHe%{`Fv&Om@;A zwxjcFtv*E?{RpMIAYNT*MUG2>g5#`Vf&)Q*OxLzCxZHVwd{)Ei{ zx}hg$Fp-?X{?10#M)fY`l8-&lqdGi168C+v(2Dl0pD*97cxqbt3^&0{Y-;SB!3*rB z!b`*$^@qG}=IAc5q|*uM6hLx&sq!t#<;LeKb{IBywo!1-C+DGgm+;xUXj#I9=K;X2 zZL*IguQ~74!UA=|{dtw#_U~>E>q_r^_v0_D3Lm!@sL)cIhfp>(99{cXgXBn}N=wjB zB47qY;tl7z=PPx9z3f$gN&_lqN%Yl4TKvF5yrkGXPHy?UG34L}hJJW^z z1jt{K1mX^7Uv2V6W*27Hv>jbH?yQY;KnIc3#}*!&8<3#AkHF8+)Qom&xU9f(#(Sk& zyMH2~y7Uo1IMraKP-!*IG!{heI)t@f7@F$1F)xIvCqJxXcd)?qRnKsPsu2r@ES^tx zIrlC!4(uT5O}SU3>E;zxi{)wx;)3StsbN}6VjRA+gIM_tEkE&Tu`r@Oq&@Vlpzd5F z3}IrBn04ktp9#d|3{TfsL8|Thd>(+`>A$385N{kRgkgS&tRF7!QxR0G-9ex1<_ zvxRBh;h7JJHkbJ6U~Ng~vw*=o^74gC`l)N}A4Ti??Bk{4-Iq@wU^S3}Y%4OvOW??= zFDVBrSbJQ#Hc6-gH#djUBRv8K)Nc9onAOj)43kqzn3_&&I$a)`ByrO&#DE9YGvH30 z;bo7yj0UfH_O11`9yA(2dmdX!jZGMsFJA2QBg&7VpAt#}^=wPdAqa!=xp`Sj86h)% z&5df9naiYf-{2&B@~~kTt%`I$UlM zAut)qAad^-%D$&uD4DKVm+OjfxUePPPTdB;iZl?x$ubKHIL%T>yA(d zIhOgWY190a;e`jwa8<#nHhG1rZNbPNyrW25%MJ?H3r>l`?lrt&`MiSQw-aNgO2QZd zLw8e$nrWg(r19R~Ga(l9tXYVazMwMfbe61)A&knaaSYV1*|Iy6EXpfAGpmF95Z?`; zVOK@nO{Bx?d#*2f2ucZGet7y=0jJMZ`Bllgyil^-Q@hNhmm$|c0v{@Eh>f+H;Uz+_ z@uOvYX*#7Sq|YdLRfoGI2=MlRQnj&lfcm%r!Vcf(>(X~mKmh2TYKu@<-^-L(P4FSC z4bPq;g)-KV2>{Vq=qySZ1h5SCox0!5jG8b8F4H(#{Pte;z(Or?x=BDDEG*8R<1Sqs_RyBp@^TnJU3y8F_3w2H6E}qwa>OAN!SN+oN%<1Q z-fK_#H`s|k>?Co(x{u~jSv`?htd%}Q zVOT2@DJ4V$lI{k;NDK>3;)do%oCPxq#5d9q6qyrS73J86Yn0%T$mU_60>-M&aD8Kg zJ^-4wXfGK682n78E;tCpSpxemYYBjdDxJpn2U1zxcs9JT(jwA#$wVBkn(aPZ|}o{^_?@srcw2R!9+H>sqny$ zA@}C<9am0qD{Jx)A**G17(pk14LNc6I1t2tAK#gPGz&H`&ude$mc3>pnS_<$8;se( z`))LnjGBjmtOZHsaE26zSU+{Ve2j5_xIA0Xs)Acd?7Y+b;YM?0i_M;f!ilvCew51EH?|8oe>?cYgE2a^0qrs^VgihYA5VUAd4+*1#v=>l9*pTrf8+- zs(=Z#k3Cj&hEt-3b;e%+^&%*TJnU0D5V2XBG592OOQ+zhvYa2+Mt(P(Rrws3d=11= z(?dPcqyN~Ny(m-tH>8ks-_Sq% z)X5Fh@KC0OMkTo1$wGi2q&KGLl6jBrG2E}|7SfP*^xaS+)qecw5?HsJo0KN7!|7pI zbK8dzF-nCoNYXFe&7ItZWl=saPvqCEzE~WDSYlVE$~*(`f%B-?_JmJ#7mZsBvw{W= z--V+l1MgsNY`CyqvzZf-%;!<~2Lm7S8-h-~(5y5o52^9b^W`gZ`3CujrLqAM#%=Vn zRdTzv#Y)z63oxE81Tg~Hm|hJ=JHukU_CWwuL>^@1L}AOShjnMSAlk=~6FvntQO*nx zKCr~vle@ZodZmwz1oi|zkPuLQlCln<`_-gKEKj?jg@W_?f`-I%()$v+z|9nXVhi$3 z7|%la7?OeF-j&N#3des~ahsV+bGe+pszEZrwp)hPup|vI)=yb){VAZmXth>?8T-Rt zzh=Ig0NrzY!n*JE{sWFCWk+K59TkR8sv^Ua1dYFEtFyD%sI@lVjmqLtbp%Dz>0CMm zyQ4sGxRqn)%2-wy4v0@2e6x?q_K||O<|#{oX1KYEspqa)K&FqxdwieJPA(O{Jv?<( zlH(EOVJp~gjBw3>IBKhMN@`7luAP3zJ#WCmIq51RY+lqyN+`TmlTudEy?erU1q%=w z;lFL2Q{xf1iiVcq#)bLbntVrd4Ik+sd{wD*R>*v{T%iX-P047Y^kEJ$?=z*oN1$&4 zCxJ_≫B3&Iwv02P3D1z%;8>US?8W2DYwXeQ_HO8|V9D+*iH2-55n{y>uHEPx>TC zhl1pm;mwiku|uV-JvT9X485#IQ9kC7+XV}VaX>eZgN}w7Aa%`MaaLrKg?^kBspoXL zEuN7!69{H}VHF35c4P_7rz-K^j_y$hNr>F)i)oWn2w;{BsX`JA`{6BX+Ahm_6s5^@ z&Mx`Zu8q&DA{Vx+(WHzpf@YVP1v$P}W5rV-^tvm1u9fwr884i3GJYK$M(7d{1*3Be z&8HxMGYX9CYfI*QqFnPy@vzNw#%3+ke=X!+vAZxt(Nx0d6etI-W=ibrWp<$!DOTY? zIkGUVd|$i1z4@CcXohTD&GPN?27Fmb1(4h{J7?9Ywr^;EZ1e&+bsX_&XXMIIn`gAL z%bDOlGUSq5NXlZpk;Tu2%NcUC%BOCjZgjYXkV&UM){{#FegJ*UGOWD0quz!G%#)$y zy5gzTvP?UAJkHJBCyJD%ll~Mq&ch1|YnF!!BjJQOd)>x7rakXy=r`|T|Ic>t3>Tl~ zNNVe-17R!%?aQlJwtmRi*#3^vB<$iyVyuqrQ(&B*J!dg&l|R`bc!+@CK`ob^v6&s~ zsv<$T=sufRA$L`$*MViBp$;U8*$Job!!C3Qj;v)r8XMZawNpT$7p)qXusYS_3%YY% zgyFli6$Rx%qtv%Rt{tF2ndp!PcQ zg)eB;fs~CV!ps#DW}o8%b~(ThxJI7AdoDq2(c)^xpTWLr^&t>?|)Wmlr z48y>1FYvO5S&@eqSH$9@m6Mhf@( z5o$QnBoEM}eQSXaeKemGs@3B+9M;BmnD|fgVuX(ZLKBfWy@EYdYMfkeMV?%K_%UeS zby(1>t51-zaeIkARYtIAshtZx?AP3e6hJhrRHk*>*5^tgGdNkrk^8JpcTV(R&PH?F z-vfdqE|VyqfprJWcXA}Z$sdgM0Ady-IS<-00u)e~I>&Ji;A+8HK?5n_JfiR^MKjQ> z2*qAB)~hA)i47$ugwt)P?z)aJ&shQto8)l&{g%f(!9lC7F&A>V{Bucy{`bN?e#7U* zsfd+azs_ME{<=9I@r+T<%?hy^t%z|Pt-sN?ON0YfU6a!cUWNgA7RHxS^B7 z<*vRHbfz0vlF3wt-veA0JClN=j&;FB&x~v|SBGmm3gi}c14h~0^{6Memp;{7GM#~c zmN+g8aB`st${*3eYiNXT<*RJlApykp)F3R1&LDOTWfqq zK6=|Ms0k+WntZRIxYcMve<`JSkrbyC6Uh-jz_qFHFz85oMXm4Y?#97tLhbjJGI_1a z#F{sP2cNzW)qWN<#9~XIj`K?VG51BGZR5;k|4wm8Qkwm0vT1|eE_Hz07t|oUyu9n| zl_adrsJN`xZa*(^8$$Rax^;s`HV(iXs(>+K@z^CyH|-JtN_)9q)D3nbv9eNc^?@*h z7QOCDu06UWx)@tKs95{LVoe^=1$-^n7QO$n*3ck&|2}ICUPTvkYfq7g-WMr}KtuHY z31F>MF1pwzAttu1C^4~ZixT_4$uE|V1&oWH8oT?VhI=$X%24Eo!v7LPhqm8y>geaRU{$y|EM{{b$%c_07) literal 0 HcmV?d00001 diff --git a/packages/stream_chat_flutter/test/src/goldens/gradient_avatar_1.png b/packages/stream_chat_flutter/test/src/goldens/gradient_avatar_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d288abf084fc623592103f82517695b17398972d GIT binary patch literal 38197 zcmeFaXIPWx8#hc_tF+b;1yK;t&>~9^l_9e#0kr}JOacl-KtP!yhLwcaN(I6ye?Tl# zK~xeT4A~}e0I7_ig)j|a2+=@5hzXF82uoqPQ55dW*4 z&9?6qzn77b*>?7fm7|Qzcb8>kw#dqE27XdU7i+>Cdd1S9lqV|`FY=<@_>JCQy5K;iNRW^jLqLc ziN3PO45jr4ggFD0m%rZVr-X&E#XT_Psp%T?@prm`0o@%OPK|H**IhMR)}DGEQdUOn zy%av({du&x=5fxT-VT*+R&8*t`EB`~m%m!u%LS~{V0Y`=)o*`(9AEz7=vRBzHpxBo zvVgGZU&^0(+xq3KJ^lj0(w2{wy?(UBmZRVj!{wvRZ#Y^8*UCAt zMS8R#(7&=dVsbWy{>SpZ${Y6mr~`s!F7IHpVTV!(xI}k(2fnRORlmoe+8XEX+pg=H z1)tP5OLq{WP&^T%k=L7IS@w&P5;7Fk$T?eh@Zam-iZXf0{soQfwwz`VDCp0rvV@a% zJJ*>0vpFXD6KjS{5RpiC;kg}j%cU15UfwCiER4ir15i?1TmHKFBG^5$$Q>=>Mctfn z7k#F~k#!V=9<$D&tGc@8@!=~CH8AOSu|gs5RVJcm2NUho8^y=Lnd|o&mIdwc-Ego& zaplhGGF#V3Bp-a~30mik@o%yTzUvHpu4(0*WBsrAWI7ML9Q|?qY3EzA31jP|E}sPJ zo@)}6aOHXJf^r$i%Z2-EPUR3XS>azRxD3fde>eF@TjpeufA2tEb@}U?7dsL4j$2SD z_m?KWtrLcQxEjOjM9s6Cd))~NWv(APPP}}5Wpw|D=K8hEJ#ExVC`{5NsR-wilt}UA zkNo|?CA-(TdjBi?JT*CwZMWBVRs_FPR9QEl<7Z+Fbk^B(^`5N1@j8h&0Jn~8*zPC5 zdUyY8B0nbp?m&H=d3WQ>1;4BdT=~FD_Mvr3H)CW88{EX3gW!_rb#3{X8dokjy zFWFl*EKZjt2sfO|1F+Q%2cZIdW&jzQBqPvJ&D0D=zGdpbNMpQ`(51-#MdqzA`hCH&)v*(n8yLlZQg7Fu(1xtKRjY4zIfi@a&FtWc$Y`+#>MAjkQN&j*FUgw z)^jDhVue#x)@nNIQobG#gIr89!mFpPc{jI47~pG@$T2_t%U~Hi`=jh+Es^5hNtrum z`=|?ew&Y`I%sPQ#Y_hd8GkO-Hyd?0~>jW9fd#p3<7IlAk@~<&Svvsnc
    1>s)?b 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 literal 0 HcmV?d00001 diff --git a/packages/stream_chat_flutter/test/src/gradient_avatar_test.dart b/packages/stream_chat_flutter/test/src/gradient_avatar_test.dart new file mode 100644 index 00000000..9196497b --- /dev/null +++ b/packages/stream_chat_flutter/test/src/gradient_avatar_test.dart @@ -0,0 +1,82 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:golden_toolkit/golden_toolkit.dart'; +import 'package:mocktail/mocktail.dart'; +import 'package:stream_chat_flutter/src/gradient_avatar.dart'; +import 'package:stream_chat_flutter/stream_chat_flutter.dart'; + +import 'mocks.dart'; + +void main() { + testWidgets( + 'control test', + (WidgetTester tester) async { + final client = MockClient(); + final clientState = MockClientState(); + + when(() => client.state).thenReturn(clientState); + when(() => clientState.user).thenReturn(OwnUser(id: 'user-id')); + + await tester.pumpWidget( + MaterialApp( + home: StreamChat( + client: client, + child: const Scaffold( + body: Center( + child: SizedBox( + width: 50, + height: 50, + child: GradientAvatar(name: 'demo user', userId: 'demo123'), + ), + ), + ), + ), + ), + ); + + expect(find.byType(GradientAvatar), findsOneWidget); + }, + ); + + testGoldens( + 'golden test for the name "demo user"', + (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Scaffold( + body: Center( + child: SizedBox( + width: 50, + height: 50, + child: GradientAvatar(name: 'demo user', userId: 'demo123'), + ), + ), + ), + ), + ); + + await screenMatchesGolden(tester, 'gradient_avatar_0'); + }, + ); + + testGoldens( + 'golden test for the name "demo"', + (WidgetTester tester) async { + await tester.pumpWidget( + const MaterialApp( + home: Scaffold( + body: Center( + child: SizedBox( + width: 50, + height: 50, + child: GradientAvatar(name: 'demo', userId: 'demo1'), + ), + ), + ), + ), + ); + + await screenMatchesGolden(tester, 'gradient_avatar_1'); + }, + ); +}