From 31cd2a96d28c3a1dc40d75045687a4e727cbf52e Mon Sep 17 00:00:00 2001 From: Tobias Schmitz Date: Wed, 9 Jul 2025 16:32:41 +0200 Subject: [PATCH] test: add test cases Some of the stroked rectangles are still undesirable, but they are still added as a reference. --- ...iations-radius-1-3-of-stroke-thickness.png | Bin 0 -> 1621 bytes ...iations-radius-2-3-of-stroke-thickness.png | Bin 0 -> 1708 bytes ...iations-radius-4-3-of-stroke-thickness.png | Bin 0 -> 1951 bytes ...ations-radius-same-as-stroke-thickness.png | Bin 0 -> 1768 bytes ...s-with-radius-and-adjacent-thin-stroke.png | Bin 0 -> 8121 bytes ...-radius-and-adjacent-zero-width-stroke.png | Bin 0 -> 6552 bytes .../rect-stroke-variations-with-radius.png | Bin 0 -> 6342 bytes .../rect-stroke-variations-without-radius.png | Bin 0 -> 5051 bytes tests/suite/visualize/rect.typ | 352 ++++++++++++++++++ 9 files changed, 352 insertions(+) create mode 100644 tests/ref/rect-cap-variations-radius-1-3-of-stroke-thickness.png create mode 100644 tests/ref/rect-cap-variations-radius-2-3-of-stroke-thickness.png create mode 100644 tests/ref/rect-cap-variations-radius-4-3-of-stroke-thickness.png create mode 100644 tests/ref/rect-cap-variations-radius-same-as-stroke-thickness.png create mode 100644 tests/ref/rect-stroke-variations-with-radius-and-adjacent-thin-stroke.png create mode 100644 tests/ref/rect-stroke-variations-with-radius-and-adjacent-zero-width-stroke.png create mode 100644 tests/ref/rect-stroke-variations-with-radius.png create mode 100644 tests/ref/rect-stroke-variations-without-radius.png diff --git a/tests/ref/rect-cap-variations-radius-1-3-of-stroke-thickness.png b/tests/ref/rect-cap-variations-radius-1-3-of-stroke-thickness.png new file mode 100644 index 0000000000000000000000000000000000000000..29e4615f98398aae6c2d15badb5490bd4e8760e5 GIT binary patch literal 1621 zcmb7_do&XY9LJXq*G5yCM{DI)#FmCd^17@hre-r!p^G}kT1leySW$CLW+U!P9LG2nqrK0Bf-B z7$N|$inKD^O#T`~1OF=PRhIcw(sHYi*Cb-_S+01m^5UhEl>?pGe2R$9=bzcCTPyekHI|1L9KqocNi2^7p%_|~*SU70$&N|k!`X49U$M7C zZSHuH`zJ0f&}P~#s3H38lJ-;z25gAK>!K&5ycVD%G8>`{jkB=E8J<`dA&9I*rUyh@ z(WHl8`5Qz&Z=wrpC*aB*4OtN3n@Y(I?Rd)yEnTNidy8fG2iqAUEA(fWq%k~VHE17djjda>A3xK+<`9vK41PV~tIE^fe6_~F%~1pBn82;8O_>3# zeXi`*TdnVFIpKznzU6FRVi{`-bD+L=>{*9(bBKM5RI!a$i+ohp*usZ?v2?%FUoL-b zWcbb4uOof7Njg?k-8yy1MXag)q+V|_wEUxpdG($hjdX6NltL+0aOwt-V}`|}h364Y z%W#A%Untg_9c7YuVaAKYg4rU>tB1&Ria!m5E>2xYpy5=ee#H`e<)x&2%Hx|+i({UA zA!Ig?lzZCMD{I(SlZR>;sLjj}DlC)Ue%K@}r^P|AMEDGiGCG} zkZK&)rLVtri}CiFF4k$x2COn_mdHU3ZF0jEe%xK~e$4`iZoRuAdNW@Xh|F}V%nR2nE0)6L215c5 zw2Gg^_|T8zLS2`jGV^{TW7+!>Z?+ToW^Zs-^1XJky39;e;V|jj^NcKgXWx3{F)3|P zac*KHk_D7D+4c?jCfRN-T}cbby`*~_KIn`zz5m;&n#@c&LXUrvoMD{P;Mr~G^m?+g zF1U!CW-3#~H?-g{<9s*+^d+S5^87D)q!s(01KgV+cpVc%K>sJ-4oQQXt!%jm8^14e z8B}o9B8UunM+TilkwNRppeaeqU3PzK->$b~zDEsjS0uQHFP#`F%)XGn5al*hpxij$ ziR6>&np8IHT*uN=1M_u68%RJsU|?!<{sECmM9Zd~9D}xG4;`U^u+6m^k0rk9Kwu4N zZ3!lYF(px^u~fCH2=5X(Hr(@OUz?~|EAUk0AZw;2?L+v4hHMWtCVpQqPiBhx66U^e z&wH@9pTD~#*EGGP=zmp*OZ-<5gdl_dah`6rAhTkQ3eJGpI|jK5`doC?JQFe;xo6ph jEc($+)Zb^-P}U9M_oo~&8)0X_fBXxqt0(6E-XO+bHlq9j literal 0 HcmV?d00001 diff --git a/tests/ref/rect-cap-variations-radius-2-3-of-stroke-thickness.png b/tests/ref/rect-cap-variations-radius-2-3-of-stroke-thickness.png new file mode 100644 index 0000000000000000000000000000000000000000..25a11a10da68430b3d4247db99972f2ae85a4e18 GIT binary patch literal 1708 zcma)7c~FuG6i3^RMaZ?h!dRCM6%);i(JgN@PXeJdFiqVuX^S=OSWVX}GYMSt)*>X2 zPt-6I(LOP=nl;V5Fk1+ZEj2MiQx_}I)n;~P_rL!6&71dT-kaYs^R5!`2jEZy6as<3 zy*zRL5QrLiwFWn>0>to!eFg-wA=(S)LcS<@_rlM!KNRvuRHo?GeIufthWB@3v$%)v z!cd`kHFp~*_*(mu0{ikNr+4d_T9RidgFm<2E`3VD_t*NjnO)u8SkxJKIy;Sux{k+6 zEgrjRP1R19YckaKrsPKPCi5_E6&v1f-no(sQxdX@~;@Jcwvhchv;& z+5(cg(a|_vF076fXCf1pvYFmL-TA=Vn}&|dZMf$mKf2wvtowo1o5qV808x2 zv&q)rWl9;hGDQ;Y-feJMC0V#&{pw2Cwqtu8@EZg^DOScaz++5L7nEH^-AmK1tC+Jf zFTwc4 zSGWsD8}&D1?F>2Mk$Q_W_{X0BRVM~$Zj!d`w!7~V!u0(62wsWSOICe zGb+e?8`;p5zU!?p?xyTcKn7ea-X#ApNo)1eJWEnPhuTViek^}qy&>0e``_{>Ge#-$ zQCzp0vk4eLg$9DiLaGv5y&Dup!T%KbNy9lWJk@ca=?*ZU+ZY^dHv%K=6)wGE(f>%HalAVeDu;$@rzuI?b#UB-EMsWrrKC)I{iI717TZieGg$l29-f# zzd8AiH097+Yjs^@c~zZ#YOJh$CQRg3EfHuZIwC z@xqBXbDk{DoYuY+JWE8r{`Iy*G{L1bD&@CZPUs0{b8&F{aq3@5a^=t^y12lwe~`hX zC<^$LAwY|&3?gHqp6Qumd2Ou8j1XVUCs-JXDg8q(X|+|M1uh$1pA+3K>w>WRRq z0hzwi*Ra=;TG6hGJ%hO9 zl-Ta)#8`>YH@st`t2;5U1gz}d&@-cn-NuN=}?~O z)h~i%T{yKFyK+xaQ90mO_~fZW3FcHWS?W*Sy*ADlGfIz>J}uGQ?j4qO#B={1_Glp= z)S)k@aPmAA*DC+|@BpkoYZ6d?vTXtdN410QOtY*`Gva4AfF7WFi{WAN)E_9c(#|5MIEuW2xHC8R?;I;h-J z^ID*cGZyzW0aTu$wB&m`T<-W8zIx&K7lmQs{Mbx2sb=Z4ZU{1R?G1Uk<8gOfk0t*D D9bq*F literal 0 HcmV?d00001 diff --git a/tests/ref/rect-cap-variations-radius-4-3-of-stroke-thickness.png b/tests/ref/rect-cap-variations-radius-4-3-of-stroke-thickness.png new file mode 100644 index 0000000000000000000000000000000000000000..8b7ad8e5556e5b7ad603928c0fbab47c3b569cc1 GIT binary patch literal 1951 zcma)-c{tRGAIB$aWG6>Cl8G#mD=89#an3kmn2R&V`mpCmNoFqYxnF(Jh-R*X9$aC zs*EVBfr4oTy1G90e-wtL{zYOb2e(tbNk<`U2RW9=D=7?>YhUSoAbpvc!@}Y-z6vqA z{u0u%WU8Vl+3s*!uQz;5_y41vx%>u zDulfp4MXJZo!s$!hLzM{R>AzZMK%)qEP$LZO~{ohk$dmDc>JunPy=s%zTE3sepinL z&2qA&A9Hp#;!O9k#rfjpn{_q35pOIr?e&JXf*Swrf%MC*@?4SiAVZoxAkE(ey20aS zM(-cu7HRdL4xn7erc^NUFnrK5%yDg^yv5a!bVov2ra!(h;-~XP1nCyBTE%#{7LXRQ zP!F0j8-@pHINc}zxf@po4Czr+l*)11T_PHiK%}J^r=fqmZNk6wyiiW zbUp&IJ6d+?j6|Lezfz+Cd~R-))hXE>HUrQzU7Qc9t3wJe2F4y#MH@NXz*vv=O!!q` z#p8zZx%jC!R3?jeLBf!0OsNJz=@gd%?Mv`ncW?8rIz~^5**;ESZ2^slH#>nDkNXH} zz)dcCek15t2DF?gQHV7CuvHb|t~1al`v@^uWe6c~`<*MN9W;8T;%r!E95TYRkTvQV zyNw*66ce~xs%E!BwbP*cWHt!noBo4rfyGT*N@7vN@l)PTnSvreI|C%@P}8oIPU-;G z+^RZiSh_9M-*u8>F=K}{_EvS2(68WRsw-2@Rq_L?M}@CZD7U^7krkIKvS5+9mn%+x zs`-4hzsq9@zIG%OzE0juys_{U(gvG9i9Wx6?F+sQO6EUM?(G4+8;BnB%q>HDfmI?| zQi^!~)s(+abz;1{7Hd*cFx=ZnhUOF}ku9|sQs`sgakdM7w{tB)=w_#EssnLz^rHG^ zzz8ptl~&^rz2%w3b67?lX(S+e{^iW_Z)>_ViVhQ!|0;?OAo5iSy+hhph&&5IqODvO zuk8oH+vhXFizv+cg-ayN{>zHJQM?6s#%Vis3wT27A^evpCbm^lRFeK~S^)`PpP49{ zju+BT#j5xSYTsm+s3#7PL-D`&Ja4#y=@oURYJDPTRWwh6{To~5>`JVPo2?b*ex$6$ zS`dil=p+c9DWMG5fepS#_SR)VX_?R^D~%Y=VKyt{FjmfNtcoN|=mj1Y*S)F*DqB!! zamjg;IaR=wpuk(XH4F3{Qt)e)VFc61LN&w`-&g1InK1;E$Ge94XLT@1uMA1X-pg6M zi}(8B1sK^BG_h%y4jqL-c|e9u(OFFfn`Ef}Dv~Y{49U^2!qOd_5%!jBZw)Cn0x!tX zlfhGgG<}iPBlmM#o|HW*w6S^2%@jE6cb z#Uxc^f(&8L4lZk)1WGKMM))-E#Hi`)%><0D2C>JALuM1~;eX*2@#01U+zYGlCGD7O#}1`b*fqKe&bP2J|9;~W z8;TLX(^UJhNYZTLrAd={w%QtLRUjPh@3+bs`pt3{_Dewey3pWtoT-C>Gy6XoRfll=21bW~vT3zMYD)jNK+81rB?RawJC|R@VR}=8& zN{c}0J8%DgJ|QRrdN>y+QGL|oWRp}pUOgDH259E!|6RPiy)O+j>c3Vs%yOcS95{jt z8oT=-%73Y$xBTtZ+=K7j9ugg!f@Hs$PU=5X_o3$}#qyyjTTv{W_3iP3T#+7#KO6#* F{{eQzmRSG* literal 0 HcmV?d00001 diff --git a/tests/ref/rect-cap-variations-radius-same-as-stroke-thickness.png b/tests/ref/rect-cap-variations-radius-same-as-stroke-thickness.png new file mode 100644 index 0000000000000000000000000000000000000000..50d802da6d49559f287ba745200bee5472fdddc6 GIT binary patch literal 1768 zcmb7FeKgYxAK!XW$kXj2c}s3LY!OyMC^AISUi3mpTr0y8t(Lb!>28j>7&qo+FPWb$ zZ`BlH*E6pX7ekG5iNZpslpxZrW?kY*g{P{PYupn;RpP_hyF$n)^29$k@sZch}yveotYPtI5j)Ms7HpO88@H4 zOE3)3u>3jV;Y~tA{&e)0MA4}GrZj>(-lvY#TZ0LRq#DP{rtj6+JJCa+-!T4lz_Vg{-x9M3WOOmm zj#k-nKMyQvMvXQ(NgLQ7$-muNYpK)ja?a5BUDu#BSy<{?wVB{;(>~ZWSH#J)==~w^ z%vDZ-O4)qSJYfFf#UTuJ={7QY$p7tygu{jiXNba3`9D`MT5#WSrAwTm@U(5`Lhk>e zeJ}a)P}9o?<#~Z%iD~5tM|z9)Spm?tNp6!|GYRmO4@P~zNz`7$P`CsZZOAU&arNQdE7E6Kj7-vA$Xr3yTE(H$d;k zG(563Sse7Rd$Z#{rW<<8qXUT)1BW|?Gn216w{%6$15>h7E;gFd9b~(z!};5R-E_W5 z;T(W34=tVPn^;lx=;sg+J%ctW#lqb@9}u_m#6D?GO`%5%M`tzj(N zr2@gv8ATsT=a)*pC0Kr5z|_qoR%d*^OC2y)kC4^=#E5ve3(WP9>=#;UUXi)DWU@&-aWSM*znGBXWtRp#k zebH`ek8m|iSJQ!2x3b%v6^&cDJ)C+?L4Mkl5f53XFH3z%OL2I2$%(tx!%tvBCm#h+ z{Scb44`JD=SX@?f;Vht1cEb~Q25|`39V?A;K3Cpo`9WrIt_HCpHm78%vil3|*hlsp zd3SoQ(L6-uwFU)Zg8mK((iEJdp;#6s=(ltf>od)hEv5h+Sqwp!bo%`>_J5C80rl~YFn1mN*=I=ZAa%!jV_k&z`=mq^o`qPa0h&u14B(iW|f1SF=|>zmS?%lm;-#@jYtL zS;fDwANsd=1dHbBl$!+G`p-w>;s%%RUU5%61!8ZGZlao?DM*%y*Eq(i0JTxVEAumB z<7M|BS2bXWum||uvB9g0>w=YuMFZ1_*>;?#{!YE&9wxbgjB%$x!aFpC`yzaLr?qNh zxKgY_Q!UP3mf}i1fMivgp#k3*j8~ed;TX%hWDZZNPUF!sj9zPm*q7|Ew`Ed&niO1m;sWeFKlvH5c9UUM0A+FAblHyE5fx*~~YnDE&7k02`tI zFZtVe6bRIh)#lkrh{@VJTijCrzHaPGz_B$DRMh{i=z4!ueVaHqei5`cQN4HxcRu*r Ogt@zT!OKquCjAMO%yx?a literal 0 HcmV?d00001 diff --git a/tests/ref/rect-stroke-variations-with-radius-and-adjacent-thin-stroke.png b/tests/ref/rect-stroke-variations-with-radius-and-adjacent-thin-stroke.png new file mode 100644 index 0000000000000000000000000000000000000000..a4bd33db3434efd9d70663361b30e6e9cd905d41 GIT binary patch literal 8121 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 Upfg7OB~N2wU~%)Ko>T090lKe`g#Z8m literal 0 HcmV?d00001 diff --git a/tests/ref/rect-stroke-variations-with-radius-and-adjacent-zero-width-stroke.png b/tests/ref/rect-stroke-variations-with-radius-and-adjacent-zero-width-stroke.png new file mode 100644 index 0000000000000000000000000000000000000000..469f93699a2571f710c9ae260c8fa31603b12206 GIT binary patch literal 6552 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 R>3>`p%#17zzZ%?)_%G5KQZxVn literal 0 HcmV?d00001 diff --git a/tests/ref/rect-stroke-variations-with-radius.png b/tests/ref/rect-stroke-variations-with-radius.png new file mode 100644 index 0000000000000000000000000000000000000000..fa73c86f34de07db693695b558a554216ecade61 GIT binary patch literal 6342 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 literal 0 HcmV?d00001 diff --git a/tests/ref/rect-stroke-variations-without-radius.png b/tests/ref/rect-stroke-variations-without-radius.png new file mode 100644 index 0000000000000000000000000000000000000000..8771df1d45f5cc008fd42562c7b97cc7d3feea49 GIT binary patch literal 5051 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