From 5611c26577c4cf6d52b9b66b7b1a32253aa23ec1 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Thu, 10 Jun 2021 16:46:01 +0200 Subject: [PATCH] Restructure tests --- tests/ref/code/repr.png | Bin 10838 -> 10896 bytes tests/ref/{full => }/coma.png | Bin tests/ref/{library => insert}/circle.png | Bin tests/ref/{library => insert}/ellipse.png | Bin tests/ref/{library => insert}/image.png | Bin tests/ref/{library => insert}/rect.png | Bin tests/ref/{library => insert}/square.png | Bin .../{library/grid.png => layout/grid-1.png} | Bin .../grid-table.png => layout/grid-2.png} | Bin tests/ref/{library => layout}/pad.png | Bin tests/ref/{library => layout}/page.png | Bin tests/ref/{library => layout}/pagebreak.png | Bin tests/ref/{library => layout}/spacing.png | Bin tests/ref/{library => layout}/stack.png | Bin tests/ref/library/lang.png | Bin 1898 -> 0 bytes tests/ref/markup/basic.png | Bin 3464 -> 0 bytes tests/ref/markup/linebreak.png | Bin 0 -> 593 bytes tests/ref/markup/shorthands.png | Bin 0 -> 2122 bytes tests/ref/text/bidi.png | Bin 15004 -> 15024 bytes tests/ref/{library => text}/font.png | Bin .../{library/paragraph.png => text/par.png} | Bin tests/typ/code/repr.typ | 14 ++++++++++---- tests/typ/{full => }/coma.typ | 2 +- tests/typ/{library => insert}/circle.typ | 0 tests/typ/{library => insert}/ellipse.typ | 0 tests/typ/{library => insert}/image.typ | 4 ++-- tests/typ/{library => insert}/rect.typ | 0 tests/typ/{library => insert}/square.typ | 0 .../{library/grid.typ => layout/grid-1.typ} | 2 +- .../grid-table.typ => layout/grid-2.typ} | 0 tests/typ/{library => layout}/pad.typ | 0 tests/typ/{library => layout}/page.typ | 4 +--- tests/typ/{library => layout}/pagebreak.typ | 2 +- tests/typ/{library => layout}/spacing.typ | 0 tests/typ/{library => layout}/stack.typ | 2 +- tests/typ/library/lang.typ | 16 ---------------- tests/typ/markup/basic.typ | 12 ------------ tests/typ/markup/linebreak.typ | 4 ++++ tests/typ/markup/shorthands.typ | 7 +++++++ tests/typ/text/bidi.typ | 17 ++++++++++++----- tests/typ/{library => text}/font.typ | 4 +--- .../{library/paragraph.typ => text/par.typ} | 4 +--- .../{library/math.typ => utility/calc.typ} | 2 +- .../{library/basic.typ => utility/color.typ} | 6 +----- 44 files changed, 44 insertions(+), 58 deletions(-) rename tests/ref/{full => }/coma.png (100%) rename tests/ref/{library => insert}/circle.png (100%) rename tests/ref/{library => insert}/ellipse.png (100%) rename tests/ref/{library => insert}/image.png (100%) rename tests/ref/{library => insert}/rect.png (100%) rename tests/ref/{library => insert}/square.png (100%) rename tests/ref/{library/grid.png => layout/grid-1.png} (100%) rename tests/ref/{library/grid-table.png => layout/grid-2.png} (100%) rename tests/ref/{library => layout}/pad.png (100%) rename tests/ref/{library => layout}/page.png (100%) rename tests/ref/{library => layout}/pagebreak.png (100%) rename tests/ref/{library => layout}/spacing.png (100%) rename tests/ref/{library => layout}/stack.png (100%) delete mode 100644 tests/ref/library/lang.png delete mode 100644 tests/ref/markup/basic.png create mode 100644 tests/ref/markup/linebreak.png create mode 100644 tests/ref/markup/shorthands.png rename tests/ref/{library => text}/font.png (100%) rename tests/ref/{library/paragraph.png => text/par.png} (100%) rename tests/typ/{full => }/coma.typ (96%) rename tests/typ/{library => insert}/circle.typ (100%) rename tests/typ/{library => insert}/ellipse.typ (100%) rename tests/typ/{library => insert}/image.typ (93%) rename tests/typ/{library => insert}/rect.typ (100%) rename tests/typ/{library => insert}/square.typ (100%) rename tests/typ/{library/grid.typ => layout/grid-1.typ} (97%) rename tests/typ/{library/grid-table.typ => layout/grid-2.typ} (100%) rename tests/typ/{library => layout}/pad.typ (100%) rename tests/typ/{library => layout}/page.typ (96%) rename tests/typ/{library => layout}/pagebreak.typ (90%) rename tests/typ/{library => layout}/spacing.typ (100%) rename tests/typ/{library => layout}/stack.typ (83%) delete mode 100644 tests/typ/library/lang.typ delete mode 100644 tests/typ/markup/basic.typ create mode 100644 tests/typ/markup/linebreak.typ create mode 100644 tests/typ/markup/shorthands.typ rename tests/typ/{library => text}/font.typ (98%) rename tests/typ/{library/paragraph.typ => text/par.typ} (90%) rename tests/typ/{library/math.typ => utility/calc.typ} (88%) rename tests/typ/{library/basic.typ => utility/color.typ} (83%) diff --git a/tests/ref/code/repr.png b/tests/ref/code/repr.png index b93677f16af2ce7edd4030b2e72fb8f65885b06a..bc29db5457ab74ecedd0cbde13eacbfc24ba4470 100644 GIT binary patch literal 10896 zcmaKSXIN9+w)IX35PCw9A|2@nh@jGYQ3OI20Vz_Hj?#O;Pz3~~CZbg7b?bI$kP^Lp-g?|$}=JS%gRJ=ffGjy1-PLTIZ~kTQ`106=k9Lq!h&Ko9^R zsDTpTTO>6ZUGWWpi2DYrIQ(_Ge|Y*EcliBuXLsZ90=M&ZXJ-eu*|)HBj{Dwxu&_L~ zd4^l4T3A@XjlXMNJlP%`YhF0P4aHz*jt2(^aUIWbeOg81zi>VGah)2t&+6!*qs*Zr zT#E|s)5G@mc3izYu2!q1rDdt2E~)o0vG)*HC)?cIjQgO7tGaVgtsdQRfGd;0mE4>` z7X`QMS5#D#mzS@lDvl?-cc|G7Degz3(H50EnVFe`p|847i7(#wIOWb7mi%{qggsq4h{4GB`Nc$*0uWyR=cy=9x3v z&CSi#)z!=TjkH&ezj3&qad@qgQLwhJrKP2WW1@wHMV0tnl(JLhO$|}2a8awUNJ)#R zI~H$6H4q4dj*d>OuwF5j)az@iuens;Gl_9)KFy~U%A*ldP*9MUmrtV-OrsQJS2ST) zc!-9uii(Pgh=|Y$O0%=Gv$3(kU@$5wDnc?!{6=IOanJz(-@siJMFXGd?YZ-m!#*SW zT@iJ(f^3*NKWJy#{9Y?Pue#IoF(UgMPJR&Uo3?9kBvzKo95zRUxv zya(s`-E@Hdl_vyqdhga&C*Xi`I=HAClj`@xS@k+v?Zt=iBLm3-R~C?hEZB__@vZ%m zJef8gaB)m3t>wIy2rdP~VB)?E4l6X@%t<@5LJ9$-Qc{QvV#udK5Taf$ssncbx>bH= zz{Ke!7Qldb9sC|kW_3UuXfYA%&d zjUYf#XCoIN{Lve-#Y!|Q9m>(OoFD7?-Cr4quMBzS;`l05lVjF|8lqSS3zZW-X9x7{ zYNOCU^6i<(475hYX9);Tc9|q^zCHO!(vmoNsr_+N`^!@VpfFcL<6_JSkZ=LJ9@{&5 z#W0VP{@#x5ofIgt-Vov<&z}-lsR`*TP8cucILT{GfhkGPmU75Qh@R>aLjwC&27kx9 zw_9KQ;4xvIi;zD8dHgX3-ONeYEXwnD7 zo{MtDza~^51UzyP_dX?9JG`oA*KAq){LU+K-#M3YxjA#-}yvpp6>}z3g1&IEc z{}W}Z_4kn838{GhJNuXE_S;7vjK(i$-?#t93UBHBqG$ zHi3fRArsb|=jBl3-ukq^I-lN8-Nz_mg>70c3=5lm%^}7(LX?kTfa)7)@=ck{F#lm~ z(&zpP7H50pfdJ|QSoA{-fQb@QFiZr+3520G-QK6(8X0N00@7-l*&etdAHTN7IX340 z4gp6Od^-)AHdPpU;Xd&3EgJ&}kSUC8=~yY{MEz8^Tu*^wQlJhx_}J+j!kMFzkEhZ_ z7x_blf8>7Bg8a16QR>oD8LC_hgF}a`8 zk<&fz>onP&WJ&OjY|DcoS2Vs)v=;|l2bWA6wYQ$zM9gUX-Npa-fo$n~q8YJd?~#r&uU5Un1))B_(FV#5K$iI<;SGrtR%t@8k4QNJ%%g7P+`0^|T%n zKxw&<7I-s*B2Ft9Y^jqomD$AuLg=Nf*?S6K4LdWi1F9TjH=0N}27ueA)4o^xPCC_GU=0XTP_|Ye$=K% zim9*}yUxKN@ZMecJIOM~eWf+uHW@^M6@>hHd>(wsM6(kMRp<$R&*7uC=qbUaq()>u z*OT5-$#vq3D}|=Q(HOBC+7Itd)-wz+p;7^bgGaxaLqW)C_jdrANwYt~;)muK6AG4g zHDkX5v8<1}#r_`jwi`h6j4=tR(}l2=C0SA^nf0rAs`T6J4(XMR2j%AIsWTlTb2b`g zB8+C+ z65n^V8jT&P`+4x1jDOeLB_*iotJzC@UvJ>6Ifm+`{!A;k3JKm3%hL> z@jUZ3i*Jj#mZtM41AAU&pUw(xJ!V?Q)nyOf{e~Vn=D(Au3EEZ~0X&u(Un%=Ke-HGW z%i@|3cPqa8Z=mvTC;o+Agk#*w|1>av$v$rP*WdrM14Pk>3XMcp-J3N0&TDwzFzKwt#sI5-WvV_$R-ICFpKNDCRH+*a_Q9jUJ)c517wDZ@v z?1Rw+D#TUa4Sa?I<`@mQh?59LOg6G0zeV$Z#5fF_YbrzR$Q6F^@DY4MB1uJQmF{?A+u5)d>eF!b3fvOS!u zckf-{_sBf^#Cm)yOG^r=ivt1m^914ybZAW8vKoAu&Qn~u;@cu)>*sUEP1=AixM2EQSGda&#vW9)2R7I>1nJ+);pd|Ah95bgf(`^eIJ1xmn-c|YVeW}S2_S)s`V2ll9-3h(Nnn8&K zZ#iil75pf)6EBkHr$IbxZl?x~8%=&Se+gU@;b5O~aJIh=w#+o&BySxyawKzvFA@=6 zd-l|*f7}izDz9~@$iMm%+Cm;KZGm>rzKJ_4Ix@XZKgm8e_RTgAgvQW`yx-IVJ~eFB zn6Q`hQFczR1v_D5gYq?#NN%V8J(_Ptp~tWsz}-g_GFW1yKyg{riw{K(J?--i`?5PF z;bLZL=97U82YEic@neQguk{HtNutWbeRyO({F;Wv`>_r)>b(JtV?b{e6?M3Q#5mI{ zhnTEzBEXCyHxWSO5Vjqn-RecJ+#=l61y#HVeMkCvV#ZM!$wb52#dMzsa3}(OP82qM+=_R8=*S-Qc!Tx`R`9|S_IU|GC#zsAi25<4j}YAM8?n8 zZ->VRS)ILF`+>EK0@SC-IaY2CW4S&DEJoORA*po8bt+_b3YMD~)a{a4sGFon3ml18 zKO{c#_W~>&8t$)GSn)4y?GQIT60((H$>&@ppnD&|Y~O?^^5xW3OXj7<&S5!G-9yoA z2@GeuRE8H{w*-^#ec5#%m{d@edS1x>fGQv?RnO7^gnsK|#9wv<@5a8f(L>(4&>=U> z&QdL*4lCx9(Miz$ThFL+R0d|_C;0)7H$>=w zHz0c`DpEuF;W=w+ljfL^1YCl!{d3rG77-8@P-#FhJTyZ zTTw_)Eu2@$Qox7WYAdYbjo5FWSt)P>F*8N@d0tAlUeBYgr-E^|QH4ZE9{n86GUtq; zA_eTCfYN$^c8dNZ+Q+d#G_&`Zo2x$|JEJAZ?xc||z8DQY6X*sr_z{kG6?yhd zq}~N_6qR#P~52v9^%!h5a*k0ISX3AhCdGH(fiXUVS#PW~R>k@AF@p>7-^QU|21@z{P+j(jy zrA&Pr%aOD6zsjai%R%JERBkuPftFWWGhyk!HKD(9;PDAWZsxlO^G zx2XN7vN*-LE7#fB_vN#)fwN?C5|#5OE2-pja+EH1>iJSMp0IHehV^~j<1v`*>=Tt% z(e0>K^x==yB=j;d$f|>3r|~$Wj$3-5JqD`UM|qY57dF$eM12eay$bU2`*I^d7jz;TQFI*8 z6(A12cxu`C758=b4#E7V=Woj6DbVDWom`e@F6O=(7=xkhT#!yqm;gao{!N37AfeFB z$jIOiQLYaEG={nDY09D6-Cym$*TxMUFU4j$MYxuilh@02*#Zh zP#qQ58g&YAep$=;c>ug1x#olY;;&qBSUShy9fCfSVvmUdTDEBKza?%>yB&+T?=Z~r zxR4psA8v2ZAnEL!9^na1rv6Ft)PK{R(0E_tDT3tTd_&FNOo}QZu>TmKcy}E`VLg4_ zw!+4DbY8s8ciG$^sqoIznb+TOEB$F|8hj5uu4)}Ma#-f#iJZ-=E(>AD$Kl9|_XNH! zB!p-F%8Rr;D76r>4u4f-)-S7CHfhg6sAxu{LzuMcBFfbF1?mIu-!LY70}XhRK{CIk zksU*GyKwz=Wa=HJcai(959;Y4!0DYm;PBZ!=aC~)WKP?a-VJ&gnCrsDs?p-$xcG?k&^LIGFefg3*3##EZ8Hr3Q1#hhrm)CGhD7 zd0?aTO>wQg&Yd+vXOk<1`@{fsXKYqqtYgu%TJ;{YbDrt1QYg@aZySF4n6VqWr~Ng$ z#T5RPT{whx&Hl6MtLY8x9>}f5Jnd-^vfyCUFl0nDVZ{g@KlBy9n+5>2!$EReOiWq7 zX2#f!n1bgeF7VcftLzk`9|Ax?%`eaQO+`gz?#w||`$x_b49ya!r8UZUFPbrdL`{E0 z22!E^A3#J6DvC~CFjW>UEO9J|n3Al%L^mW>#3)r6LauSaV|$N7=-aI3_(Jnclnr}# z>B`^Zo^e5~8V79wZ*$0ZZI}|qO9+0_49bnYYvMoy)H@Z*hJAq-WDKkt!C*g8sZI%BG2Oq2{7UMv`zUgbN~eJ-D#mDmm%e=v6yOWi6& z|EV=Tw|t1*>=N@44^YMGSq7xrnrZNFQn4yz)(1bUrzH=@!f`p)%gaOvRz= zMum7+Gx&r10K3}o^MU!E;=@1SHtJXn7%7eE`v`3#gV&bTvmA{;g^ALb8jj}|ctd^p zmnUR7J_LOP?#5Kp!N=lUDH~__ExCqkjX3J=iqNx%Y(#aAoex!g>5VQ>Q7K5M(KRnq z6is|qQJ8O^DhsSvPG}U&6BKRVH#3?=fDBSh($`X92EDOe=t4KTB%p{t#{O90Ug{^z zEC7s_asYfh{m`T(+t=r$fVi(P^RRCV*2jJ$+nEc6EwF>v7Co$O`w|=fEY9qn={vSF z69}3u(-et<%ZU2Apdb#>j&~Orl+2JeyJpKd#|lqXDW|f&%PYjHF4c%hAC|&vwWANz z;gje+nJL00owQVyOCA);N#KeD>wdS_wUX=IuOIS zF&A6EL2kGZf1R*Xt-ga`RmC3H%P6_cF`6W+dY=(}HoH#Q*u6ggwY14NAQxgF=XZ^R zJj-i9a*e*V*if48R@(G#p;T#m0Q*k5`@qJj`TQ(V=nsI+F2L@{g7P&0oQL2rL4d^Fiv`KhcS#P)H>&qo`2;;!5o6pu z>3$M3y=kV36&g@Yh&c}pFy>Obg8a_c4MCOYbG$Dn)Tvx;4Eo1<-Ztclx$+IBK-X88 z5i``!V3Q2i;9VOY*_SgiCsXs^L6b3-k5mUvTR(Dx*TPW(6lHhWzZ*)}-+#==_~y8} zv6rAsTDmTzm<0dECet|cu`2i3-BM5@l&7|4`tgtc58@U-*56c*91LgB;f#G2{jucp z81R$_$X`PU=^V?=HF%-i=-sX(;Q&KZ0$Gpurz)}=hSM^G2eTlJjRtvr(w6%x_QBat zJNz?U@Scu0Y3VR|+|$7j{~UU&E-wGx>Ep^GyAfUbpPq)~;wobE(hK+z|D?eGldE;J zNBRH3k%#V@Knib>{ioeu%txCl{LttMagYc^q1N;v@uBPvDh3W*tEHBEd_B|_0(>YP z4_zQ`r8^GdoppaFs$6j#tuSy)JRflKH8qTqfGTIdjuVd`@hFEr3p=`|9nicc7V`d| zgM+y~*XcDi>Oe*jnJwbtJe%SpcjvyR|F87VJdIVb+=7ApmI+>o(PkOt3G@h4Hu z7PV^~ygc~(^jz(vGV?O8eQB4h7SBcImdRv@q2YC#p0~Y`ne-C z(Rg_(8wis6hO)r5_;I!jU9W!WY4 z5Ut@+R>4~f@^Y7sx9(i5S>U7tWB_a|iM6XLaJxEi=a`Kxc+Kq&GiCFhX#@fN%ONJD zgMJNyv?T%8b_!h;ShZ-T3mLWe{kyBHEBN^x=Adoww%@yCK)lDmgCW^itv5vh9=uG? zwq(&d)_QT`_%oW1Jis!xhBrTl9ZTdAH*w2l+Ga;GG3#O5A?LE8N;Yy{7|4W|Je3d38ZwIJG@#@e(#t&Kh)%pXxSc1c5y3CsBTzkVQt0OWS>*YB1xmFC&T#=ihvO za&lsdck?b)GfgHb%h9SP6r)CHFpifNFFsqG_TrB4BQ!JPw@Uu^c>{f1rwE6F=h|H5 z`PS?%777Giq{*Kj;8kJV3VuPshcogQYgPq>@d>IW#?2^X+s7>?zYk4UmUMy-ZY~4| zTx2%y7vq-YFLw9#EIPQv*xv!F6qXDew5Yhc4+{E0zs4ceaVi(Ckbx+x9}BKpugF*fA3u*&`B}Bdv_!Uj+M(aAfAmYFhK2yZphE z%hgwl^i%9Mkv@^9HGb94UmUA!KUs?`S3N0o#gFcaD|KxmyI5aY5h=TH`9X(_kvnhP zq=qhBbjXteIIq%>*ate9zmu_)S>2^l8ETgg2u^-xo)zv~CRCg@VlB3nB3VbB3-1q2 znBCe9F34r);Q`{?SzocpPgQX^C{G`mJKt0o?Sl(HO|AyZGU0!?y+aBS8`QOTp z4@;;)+W)_3;q8`k;J|um7{-()+N}U!pnC%Rm^%QUA3S+A8>|D7hQU3rxY59MOXElC zm{YeRT^K`-yQSJnQ^yaw=^1C$1_ac$E zYDhXr>1|yewPiu(&yR3Opi>n6)X#R}>oU4}dd40M_B)?$5dPx!9UcARUlTioe}~r! zknvh2)EO*cSkjEA7@1)xdk*>f7c`GUR}@jM)gadPttS*;>^_E)si`eG!7guuq&Ug6 z@PdTj^9q$WN)A4Q*z1Ou61JiKtgW56Ot|5II?U=@JrUoGc!o`4&;-)t7fF_5T=|6RhBW2U z{;cn4$i3gX&}b5~JAIWz3Y2cS11gCiU_T*}slO}SHz9+o49Mrrp10h)p^ePR<;dol z4WxLiK?nBOE8t?%IrcrsU7Jp z&=YE~sBiDh*A`Oc&X}|KP&iQXYVaFjs5v{WPVluZI!!e|H0*?W`;Z#~WLWDqc$f$B z;0)>Vu}OIzoCmZVc@U&2`%{OO%5@*fBSs~~E6BWMO(-z(Hf(pq*Z!<$`l|_q?@1;n zrVzV%M+mlvncIo8W}%vr6(8WTd^XD z7yz$#rP-gp;UR#pje2kvX_W|doW&NM>{uuP1`_a&=Q~pe%kHoYo`Z`wcP+$HU*Fns zpV#F0m!AArB$_dCd^jH-HA;TKGulv-dOlHpqJaw1DDih*BV(&6JFp#p5FixV(^_8X zGbcZ^A4Y)qiFFOQplk6zo-I{H_H>a{K608HFVVs`i8tMDmqG=~OA>xu*mnZ! zovg*JC&Oyk#u01w_boO96z{!Y<9i<>|4V%D0i+^&K4}TB-)$EzXYPfCPY5q1H+xkf zi=>3=mwaaQ2+^FG6MS8e40o~6ue1v%E0b^r*a=)m- z!1{5tZ=*xP%g~t_3#CYT9!Ye@?N|{wPy_&U{dfzdrv@TpPq+Zl4C&zJu^nJR{y|^) zX23g+_172vh71#OEU!bBM>id%EgoOH*vuP9nd-vF{tnZ3pE)kQkM^@7Fj}Bm;Y)@Q zMU|}=Ac`{0W5aKyrM&jfKtWPR$Cht0}LjK~A9qE;g)p2;nuTI?n&Q4Cx@t{_x_53f25!kHRSYm zxwB-!D>VfvYTfEz-(4>KK6*kVCP?jk=tBJ#$%tpG=$zA_H6SGFKC{V5p7>6{>95Pw zP8V?Nt%jOO$L7VnyKIBpI+^Viq>8t#E}W(h$HcWr*(rV#YLVtrybd2&s+}mvm*oXU z^7Cr!NddmpaA})L*E2h+K6yJ?iL)ZON4Iih>A|WZ@L zo{vKwivmr8Ohsm@Px|DEjB!c&zVmd7NjmDf@(V*!n6JI)PHoT^frg>e<;Mrp7uJ1< zB0<%Pv7o|(FlraA;OUw(r)Fg~9%1s|Th@DVKji)Fhw%vM*M?Be8eBZX^|=M7+Z$=p z)Ijpez~4EVT@r*`$CTyU0S|vke?El|dNl=%lP6R8N@1c+&Y43^*vAe&-s@%M`x&m> zxE@fs{h;6S6o%R**Vlo!8DMQf;^j)&WG6XHUkQv!KVdtcW)xyW0lA|k2derc7_X_F zpkk>3_C({@>@?6F$hgOd~x+VcRE^Qe0$)xP|h;N7~g-?CUq->9oK#+2Iq9 zxS2-wx0My$3WUfH)iv3B^DtnHAJF0g$^j2%i{lJfn-ew;7wJ$}D;+|k*5onXA!g+* z!%7h9cgF!hoCgHQ3i4WzhCK08zP(iVv|gwb|1pHU^BaD``K)UoA=~5$IIwD;l^bP?jic~>B6bJ&+q*&;^BV7n6 zi1gl@^zzGl?|1L#d+%DmwZ5$L$3FYa*?X^<$urN)oaaa_6;fgbVgLY0@2e{6000OA z0C@3GJlqU}tTyfeC=#imr*wt;o$MW)TwEP2o^0=|9-MD)Z(ptTO>dtqENzdjo$gQ1 zVb@NtraxUx_Go7fIm6bIZ8dv=s zqyJ&cv~b1v-K=r;Y(hc;GJ85cKK`p4`bk`eb!?Y)Ojnz=$DqAv+aq`Tuv#=49TF0v z6w~s=x5U|}q*2$VLFciXGX@d*8HGZ*y1FJjbd~bX2{4NEH;Sy1H)xRO4bk$mw6qj) zO17}D_#}KkT;a*byQ%_K5lAHR!!0RoZS7b-ojV3TFK;QmWK&9|7f+!V&!gf&AP{nL za&O4*ydk^8f_R95++-A06A%#K=jUf(VPR%whQVOuVDj zERxR;qSbs58)cHWzXCbj0yMtq^T6xvOpIhLa(p8{h_1)A8Vg5R-Vbdd{Ds# z6sQ0Lpy6;CXxd6r7F5rEj;XHwLuiI@Uv^^9y}314B*=K$bd>R zJ4i>?SqSYC#`v7J+`(|a+R{a6TR+?`YWzYB@BL80cRnC0tMDLEoR&<&YXCrxKNOiQ ziRDJn#3vnIB2Ek-Kv8E28^BlN1!3AEn3N2I_skW=dM%nL00|#M-CSI&!qnlWKUtw+ zC^#gjY2zuN@!ITmSm~Sh4m?N^%@Gti^-P=fLZ9W_83&;2a`D=I^mW2F41lhEczd#3 z5uj8CW*pWBb&6r0$Njw>tJ|qibgcozMUE>q=%YHMuQ+kE0)Cv=@*O5GHCX|d77;jU zAcLOD#>*X<4Uop~j+%WDFIDh0zL`Am{waRo8=BI0l<2}24p?Aipeu5ces{ln7 z5hpPaK^T}1JYKL=W??5m69X%%c$IaPcUv^5rRZsXYmUTZ_Cl_)nG*a!&j8Ij_(mbl zP*sO(#3?^V>9dKq)#yUibt-<}<8`8tHUg!P1SzAa-{jDPnyY_*o{5EahlS17v9Rgk z>5V^>lA?-sQkY?|R%!qX#1J6B$2S4&3NmRf>?3h%B*F0hSQPgM`ECU}Dt|}bgdw9P z8~iVNMab8sE0;*!U~J0D%^_!EbmbJZW{c~S_ka|ON9i7o<$9q9U~258p8-ZT-brR; z@=Wow(7O&qZxs!MJDEZ5!Tx>8f~_RZlx`eN2-aN(`J7u;Z+N-|$b^ou0_pzdCWq1| zCif7cC~M*rXaHmPsR0C2A+5Yy}>B1@=o)%2EZ?ey?p7 z755#_uaRF~Qzn&&2IQ}nxt-rY0Fe=2e*5A(9vgtZO+!)bTW=6PbOF6~K?(XzdGE%m zBn6i4bo#~6o~#rVfwa<)O@`<9=gk=#_g9Rfp^}I70$`B;hofQqs_QK=9~EPMB~oOA zkYfNbasKnLY~o1cjl7~AW5|q#Vh*03x+3;`_dTOpbCT=+1c)=g^c&~cJyuhLQF1ypM?2ixN@)EvNAcsd-dV}(f2jDM zx(=^mom|6t{+|$|l;HUJkNZELg|V2@-D?o>O_}hL;>h+6G^;zA`!Tc8*4hr|K=yBA2HC5(1(uiRheq}1f)w> znqJQ?=yXEt2$HAsacAL)A1?ifv3q*Lb8rp$WxrNwWTF-18gD`#g;g>8yfK7j zk=72HNg-ZltJvM$T-v6V)VQ zZw)8hrwL>={rVZt?yj$cpXf1zUAj`mBJ7US1Xbgn_&Jk&$+7W-dvOl~MCSD?Xv%nz zrk%ghXnl%7F|5z5_oTZ{lhCL}&*?5^&{IxMuPL>_Bvl?TO{w-n!sopyEmcl${L@jU zqJd^%srxR!6QL=Gl!n_mFbw&TXNY)Oc`2&;F5vkL8wedVSn~a$zR^$xuii-~U%#)e zNc#Pig8EB`uiEod11Vm1Vf~z+#~|U2!{wvb?)}aPE9z{Bm@ziwxOFaltxFqUo8r^Z zcKL5p)V3lj2I#uilf~Mu+8;nXa>fB^Sn!P&piE`>9*gFOKdITjcnMv?hbWNkZ1S=g zsm-xKlmQ(zK-|4PxDE9 zM^JaisY=@OY#4gZ*}zl+4$y`2=XTVyL*9rbFZ+ql)YX68qy%++;)-cdU; zVejsWmFZa(4Vh15O-G}|m%7FV`J<9Mqr}sy2KS{0&zu+=L=~!;zXsgQ?t-FAIo7BE zVc+eBBPsg99gc7wjhTW}C?XA7Syfss25(=-Sg@=hg|LW*(fbKFGe1h%jp|rT_%eBi zlyNIAppdhE*PS!oZzPdWW8@1~G!~@8(0gw6R-RV>&2qoU6szAJIKh8A!<`FbW+V)l z`EJi6%}x9)oTWV5f5J+=DE-e;=c}3eJiXsq&rJiBCTG!bJY54*~0^Q;f+(l$SEyYl>yQ8oe2%!nTIa>h-Xh3KVG6g0BriXEZ8oVkz znmJh9>?RQ10qXQ?2^u3*7KFCJ@}?wUG&d8soBbYA{(bIA<@i{$ zK$vcrDSKF6j1vikQpbdRwKKPxL|YLfDi69NgDxUKxlm{A=inm~z{6zdbZ#Js06>08 z`ta#5)UMT;_98~8`X>)Rc;(=mH|i|_Smp;@AVKKhmFMYaG6$m{{FAlJs>hOc)YoCv zQuQx8A+(Ynvtfc`#!j0RaMSg_N0L-|v;>dNI9(|}#Q3 zl85%>^^j4hfBBG^>N5hMKypeq=}6z3BvrxInna2papTA{pn-Bqhl6Lo!#%n@BR8U+ zy47!Nun&sedbhbC1YHXp8-)9^PVA$mMWFY^`s|d2z@DN*z9c?`2#|M*?uCQwXpFKK zn+=$I%g2ZnGvO4sSph}tQG#DKjHTen#Nlf80E}s~qO$xt$OVa@jItdybtb@^`j-(n z)y{5#(ppfWaDcLOy&{cdttserr!}i_zJ6e97Ur zLC->=S+#!z;QxV&>2(AV_)k#5+y96O4PZ0laHCAV&* zc7?pGjn;H8n$eb@D~1PCZW-5!KyouxJR|eIq8+h79|n_838;1PlK5kh3V1*%0S@j8 zzJaa$k;l~n*G2Ky9)QZ9hP@_kANyGXN5m4vTa$870V1Qo1gq8+njPQL9>CIQUkyD5 zJY}>~KQ0{47d_|zm0KA-$pUf8-;LPA(P1GSfKrxb$iLm2hAN%50K7&95DU3!!3yw+ ziMO@U-$2bngR-S%u&BY?kAbuw;mehg%|R~GS$LAdjdsbc5f(0Vq2JiN$2uhLW%^py zXGd#aMQgle#&qwe`KqKW54F!Wn<&f(UN#FyhRBLd-|Ltc)XRaYAQKkdrWQ`hnb;Fa zupU>orw2)u(dB6;F9qaV-kd*KdO@Ba#a5gGMd1!D-4gK}l)`kH0nfE~eK~*PTk?># z`GKfH_i>W_I&@cZr)|$2P406|yIguZf3A^E#nxNmR-h-fZ0U`(5uM84y`aE?U4iVj z=)7?L5V@VzM_lu(0yKim1v5_FiA#8S>9;9u9{aIA_~}do*N8L-e9=A>C8xLR{JG4C z8{T##VSz`p+MO3>Dzii3s1{m?kA5`wFz?42?@On9^-wl7_vKeTg|O@$4Zt4jQ`00ECOk)|CS3V3!&E-nl)xqwb9(?dktX>@~>`_ z&@3VO^&0Ro`K(&hVT>p9SWhwp2|p|8eXOgtZQ@#{$KK3xbbD7KC_ldXus8Ovl5>@izZ`{rl+QLK@ z)iw(&syfAF{fejp6J`?QwYkkJl+8!^(lPA{@M!C6UwuENqukzzk=Tsu}+Ih(iIV+(^NF+d+@9d8~`NeIUA+aB_3)_pCJ0J=s;$#?Y z-?`y1qVrR@qe`g&ie4}9cUVs!WtXSBV)#CX9{bi|RuE`^b51(_z1AlyVYC;GK0KkT zO8%K#LI!rhVxrd8>p6@t6z}BqSw(uB4}2{eW#d~k-=3~r%TynAbMsSIMAfNRu{tD^ z7rbpf*&CxVsWh5m{qSU{lJUKD%^-qK{|zsdq4Y1@LZOzOafaEoqUP5=n^EgaGluIr zm~xko6bWU2sNOsuFL5$hh8AsBpSHvvk}mpX>L%@%-5AJ|05^(&h1Rem;3qX+qiff! zTwp?-e^Iw~-f_2^wu+o{i7o?pN!HpO3{;pnTunA<8g5t`aDhpfh zwaCp3pP5VbM~o`UklMz<4%2u5?YL)8*>YIlah+8{(O!Yz*2jZ54~V9FuO2liFvjvY z#?L>l%S>;MGSjQTtdn*@U9eg9`s`;~K05ve997$(n0@;1Hz=Xq#eVHk_b ztftks;U=4?e0&m8?>`D9Vt?V1Q`jg1iNOkMDg?D{*6m!5!C=D@3Ck%+oN6KF@~?+D zQQ5x5Pyy`JjX3Lk7kW@9)q@gL4zzy8IFkjwN%Uvx%N*V;q8!JCx&vJceWT}jUs01O zRzvY5^;Ic82qCK_4FtW_dE?mto+&8ra6iQ-H)s@vu*_H5R^JB+B!eA4v=EsrLBHy= z?mQI+dat5+uyly!R2|PKrCT z5Y;weUJC$S5_BWKtf*+6DJttjU{HogCqG|s*(MC9#8hRVZ%Xo!9N4PtpV6mvnI(-^ zPWi){Pjzp6uR)j}Wpe6uo}7dY8qil&#rZwInFy4TVYFr87;;o7u;b2hh$)eL_fgHY znSuLA7YIDuv5PYFij>7!V_4@6Fl3{?sqlc(gF6&`LgS>7*Gx@o7az{8 z!|0&`-@^dJ?_Zy3z)BtO+Bz0AJ+@?0>8r0p5EUaNuUNP3plccx9;J1n;g&l(i&YtH z)K)6n5`)icuZJ&_KAOyTjD*QQD*U#89DAS!`@v!gBM<81)snyre6)NVo?zDqCpY4z z@eE;yGST;T9d$_EyJvlOkM||T23D-!D1p4i*MvKA9g(KgDgV-qqVPsn^DxsD@z8+8 zQ#z$yi2&aC;qSG77H$HC!3kS7j|Y@s=Fh4tR=u(6Y}Is69CxMyLf$}^@}8Mgg%6$D zfM3$t-C-@j%VIi3A)B?{xt7SIlFT_+LRX)6V$X&?bvtzEvc8K-JbYkYdQTwPt-KIt zcs5|=eGl4KjDTgWC~LZZg6bGSihNi)?=pvx&)fO1N`v+61pSQJ{kZ`9MT$ zzLtBFP$Dd~$9)TWc@2b+FW>IB0G2PTQN7uVw3yC!sDRfuPRE{^kVlurvo2wFrN{AS z^UO3^L#X8COIm)3b0Rc1GbG3sK%=oL5q00d{_iRs2D+S-(KnuPN=v4N+JDL*#Bj3` zd%WXV=APcP89p{)&Wl}qceT3WO|utYV5Ga@y{EVfkL8wrpI_oi0|KO9otRB&7)mg1 zRget#1Xye=UWYr!{1X_MpO#nA9paq(AgFFTklcyl=CPOOjEn9q7 zTTr++jrn>5bZED^fuD)o0>|sIvsTSKaVPI#LN}WWak~h}=Dvu^zdJ}8?q{Da#KJV# z-vG88{C(mpzOlILa3jo6P+5M0B6fBu;X8u^^nsBr@;ALIA*o7IQ%~d=>nwr-?M+od ztQsj0`3p3Fr>Yup{Z)f7cZp*8D35XES~tkK#Rh!Z60q$=BR{xVRCZYbMF#y8?pGzv zm-^No#19IMs*Vy~yD&e68^Vp2O&<}e`Ep97Km(%+{3E{n92sfvVPLZ$lQ#6Wrw1tv zmK`Xp`}|g{xE}g+9ki?kiqipzB$^)-qOq9CUgue7=&864{oSn83=ldRmo62$ep$1B zGC`b@K5xDTb-kym<1}(jbOhMm!c!+tRZ^V`fvvE<@#duvT*@p-K<7}#{oGV`!m zmHadN`X{&fKi4>+tzE24y-QXW`zCx(Eg2$&2_Etkdbbr=$=LldLxlmYb;&$nXZeY87#h9)Wl*xRorgrQ02Eo03^{&+G+jWeXQU2 z4DL=_twWe4KADi&-XxcIFy_? z8vsNka$dSD^urx&HG!UJM*#cQy3c9Kc+lsEBp59i5o@=(;XWjoWUETw3oj1c&jsWF zhkOpX7k>RF7lF9t02UH;BUYX=J2D1z@~0i`yRXY%S(^`5%KpL~W(}2lrf@&1jS}Qc z>+_XyZb$)5e+SsfSxb62+*g?HY_?Ty6OQ#+xDbf2*x&-^r;E-fJalrp!UFgrWWaJ} zY(B9oZ{|;{-c$uq&@R*t8YqIba(vSFR;m+93^#i}JE8YhrpIJt+53l3*uLqn*KFYd zcmi%yGx-F9h4xC0*Z0$_ipKxyVd;qo@KGF30hpVlD6s^>KJlp=WKjxW3??8*8^5c* zaz5AAB&*cr28dG!?eR+hjE;FU1YLY?uhz}~DP~OZBV_`rZ+(0$zt}|Ocmmw~!_J!6 zzSN-qk@^1E$=Vdf;ong9PsGKIO{r%M{_b(UykUB8@c*mO{y#K(_8qjYXYV&0y4Lv1 zhwt|b7OeCedURvT4uumxVJ{R=uH}xXf_t{4s2&xvibI)+MeF0li5&9c=Sx_T zy47L+_*g@OEaRt0R5_jJr2$2^TX~vx?D5VxbY@22FK9xo+ko}7>_``|_G!WOb@w4j zE2(=gne&C`Z_MUjEGLi}jNSEJhjy=T={|kt0?OtoEg7-l1*0cSP4L#= z^g!+bmg==$;kmpAC0Rt#MJ7#5fM$uT)&;y~wHKaItLO8y#^FC2IgnWsw)2$f%Q_dP zSwguhL#_NK-x4T*oka<(p`hclnI^%9{BO1LM^G^xNGQk){p987ALeJ zN1l>q`-{y)c>tWky{`1Mfi^*-djzzJn!PTS29sM4|?~%y1cI(rq`1qy) zg8Zw~vS7Evbqk-@mKb3m@G47I_Of%;Q!*oXuNb$cuoOj)kz+yrEfYqX3j@d$B=Aa3 z8Yi-c6S>&CI{uE6IWPnvQcJb62RsKnNPbr5N+>Mf0Dc+=xC{^j8V`@7>e}qYOd4rt zkIt97d|A)yx~?vhMpivf9|HDNX`tG76B5OQj!x6r9OSpCMhi9b3DESq1)*!6%h2Q3 z%vTfhO%k}nFzyB(;{(WKfC#qDEb48meG|=w&%#EEy-~Kw1ZrkJJHjG>4P3oNRPe^s>zGU+s5wbzQkjW@v?+5n8EBJ}7LAMAs4`1HJRd z*kO%FXO{;}fq{YNu5uDMk!9CigU!Md2Jp2-0h5(}KmOLE%kHdmYh26z>MRwfak=Bz zCR!o@``A*!e>@d7Q=2^{A3qjA5q$hB{&He|e!eVI>uTXUGjj;ps&L-^Wcg1kc`724+%7KRfa=^jfsRTc{VyxBJNhGFXtQo7Q zINvr!5!~f79dwj`*`9R<-?@uByYHe;@dV**KlGhI9f>O_${!Sf#o^T+KDJ@mBk zVk7a4IRapD_$$4FpfpE>HA^f97TxOu?j4Me(8?ZY3{ic6bfdd1c z_T!|KR)_4~%mD^uS0~Od=Tk}|{LG%CWdAA{!CCYIdtUIZ$t-g0526LPEq(K4Tkwyfyj_u^zTsQQmm$vmv%DSc?b{T9hTd~ zt5JTv<`f@11|;l4g+CPbNpw+Vg!Y}OwMi_$)tb+&Jd|Cmazs~c(99P79n=5AcGWzs zC4B!v&41Vj*RCxTCHdRbA62$i6*zDz+hlTPW0JvlZV;YKpnWkx)Pyp5Lw9-;qDh0f zD0b&qlb+RooNT(rpB1zvrYwF4BqV@#YU>jZp9TkAnjUnyzCdlXnTo17T^gO;gYJ6V z@xR^14f%=81LbOJYmVds!vw%kE@EQlhlhmKpyGuL`in!Mb2=D^e(&%|@ZDbKsj1bj zs5$zJ;EAdgvCR}!#}4mcaB1m^+3XYZ7tIi>em~-*%j0AgLUDJ66wMrPf=+54O$KP4 zyJ!yEg4N&suFFePiMhUC)gO(Ndwl;Ft{IKx&^;SoR*vip76xM&_5wrZtu0tRiB-8k z2Xyc8^Lu+kzu#a7hC6;PL7x(5OX_?Ac=Gsz_<&|##{(6%v~l_~X?ZXrLjS^ZnjJh8 zMfBTDF5o9q=!+4_4Jj;tkjpt}TNCZERSOBy?w+X64+7*`xiPE!IHp+ky1EX;!5mJQW+vEBB8p1YAS-0Dh z%Bh+zMIg=Bu$9=tRN143UK3`F@Kprb?RBJJJ*nv1bPf+9i+qmH!~hQ2CXAk$*kuJL zkM_FG_(aW+o<|G@ZQX{Oe*d!*gK~gOifPsyf^H&DoQi#2FQQ$aqu%$NRA@>dJ_agQ z9~cI*K}di|A)uqUu~j&51|8(QPadK~(S*{4o@xLI!%kT<)>Nw#5lvtq>hvdZ7$29g zbp!U~5!pH6d~-3sXJgt^zb)tb9YbIhkvByQrlzVce`8W9SaeqV$d@Ckkz_-nIXt4QbZ?X(GTzrK z8GoNU*Y`ED3dGc$K7lm%O?YIvI+xZ!%4cs26Yzf#H24_%F}-2)q&Jjad4C)_)Rq=P z+Op>;=t^VGigLQU=5|=g4_}za$T5O|s;YUX3oQ5j@mF^^GR!ptqZF{14hi-1|*OM1m{vvWUq_3r6UN~JP-*-S!~Hx zwtlJnl&tmGR?JOJ{^)eWURVUc=!x$0q?Pj#?mLh+CmOrEccgIE^k!+-D{PINSS_mID@p#720(!Tpy z)RlA4gQPi9PO1vspS`tzR=sYPIeiBZvhj@T!-Kk8JWG;^$F;Tw@m*{GT7yAq^kT-mXLW~_kyZG41g|Aup7_SsmC zuf+>MUpm9)Kss!8)NyK|Q4x3)TpexeN>V4RR}jmJD~_MOfYuXF55lmNvv~uwh$cIN zUa=af9c=26cOxLU`lw9t1 zIDIX}^(nBDZhJvSWCIM4Ktz5MARL=-4D|HDbb5ft$pce|Q}jI3#BePQO9&<>s(!b3 zfL1EjW~x0Yn2z~oCm4~Qsu$_6tE4%F6luc97AIcDk|Vja2f~UX2eQ5EN#R`YOV5#A zTX%K+vbcbVqp362V0n!!iGZJ_uu`Z0Z%@7VKfc}B8J0h|0v%=F5;3EFV2%4a5xB3U LrC2I&8TS7G3yp=M diff --git a/tests/ref/full/coma.png b/tests/ref/coma.png similarity index 100% rename from tests/ref/full/coma.png rename to tests/ref/coma.png diff --git a/tests/ref/library/circle.png b/tests/ref/insert/circle.png similarity index 100% rename from tests/ref/library/circle.png rename to tests/ref/insert/circle.png diff --git a/tests/ref/library/ellipse.png b/tests/ref/insert/ellipse.png similarity index 100% rename from tests/ref/library/ellipse.png rename to tests/ref/insert/ellipse.png diff --git a/tests/ref/library/image.png b/tests/ref/insert/image.png similarity index 100% rename from tests/ref/library/image.png rename to tests/ref/insert/image.png diff --git a/tests/ref/library/rect.png b/tests/ref/insert/rect.png similarity index 100% rename from tests/ref/library/rect.png rename to tests/ref/insert/rect.png diff --git a/tests/ref/library/square.png b/tests/ref/insert/square.png similarity index 100% rename from tests/ref/library/square.png rename to tests/ref/insert/square.png diff --git a/tests/ref/library/grid.png b/tests/ref/layout/grid-1.png similarity index 100% rename from tests/ref/library/grid.png rename to tests/ref/layout/grid-1.png diff --git a/tests/ref/library/grid-table.png b/tests/ref/layout/grid-2.png similarity index 100% rename from tests/ref/library/grid-table.png rename to tests/ref/layout/grid-2.png diff --git a/tests/ref/library/pad.png b/tests/ref/layout/pad.png similarity index 100% rename from tests/ref/library/pad.png rename to tests/ref/layout/pad.png diff --git a/tests/ref/library/page.png b/tests/ref/layout/page.png similarity index 100% rename from tests/ref/library/page.png rename to tests/ref/layout/page.png diff --git a/tests/ref/library/pagebreak.png b/tests/ref/layout/pagebreak.png similarity index 100% rename from tests/ref/library/pagebreak.png rename to tests/ref/layout/pagebreak.png diff --git a/tests/ref/library/spacing.png b/tests/ref/layout/spacing.png similarity index 100% rename from tests/ref/library/spacing.png rename to tests/ref/layout/spacing.png diff --git a/tests/ref/library/stack.png b/tests/ref/layout/stack.png similarity index 100% rename from tests/ref/library/stack.png rename to tests/ref/layout/stack.png diff --git a/tests/ref/library/lang.png b/tests/ref/library/lang.png deleted file mode 100644 index ecb8820a130a61bf274380851f9a3ba1e9a84e29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1898 zcmZvddo)zUTWr-+#a7`$;(IXe%Xwk^lfe%I>(eGXQ|V z-+e0Ny8yS3F8&4p;(B)0magH$%cCDdN@|hRi4UL~R5Q48ymYX5H)tOJJ#duy(o@o| zG4>>l+F239gOt=EyZZ7lwVv0WEj0P{Jk@L3C)90|l}xTrwcW?sCd-I5;PeSLZ4d=C z_A)K;p6vfaqcOUv=H|xw+CQ5~Zd8B5WekP5A`Xe3V|nkb{z(Yct-SS z2~l!-Od~8X$yI+}hH-F3^=I!gi9@d>^PdEbE^WRe*s_8+&u~GVz2{aye61rgXEc8g z*Q6-M9v?g^()8~6#3;DwT{UEk(jYAwX#dLi>DxLkw~&orAEOZK1Rj+o*4EtO@9he> zHXFh88|a$YKU4-o?VPMwQm+@iSPIDhu?qcK1Lxg}CLua7$? zL=BC9mhE25eBDo@dbA$R>mC1m>*S_@GH4bAUlS@4StjSa(6`tVnEO?bCKAy8 z!UpHd%6rMU1P_a!Dbqdd5HYV_Xzrf<%i^X2$Wa;pU>&c4%rSIuQI&d=@Yg&V+R_2* zf2#^_bTg;xoX0VWqYc3_gZhjNs-GHSRR*F-Z!=e`uq9G6RTOdoveB{Ad?%xeigGT( zU%m3RH%>zK2oa7{ceevaI7=}XI#S`(Eu+RoMo)hU2I(^o+F-3~YIr_}6n5rqxCt#6 zfE*3EDer9{zlhEZxF`JMqgYIF?U)bYlOo6WRg?>ePWm;oh!HlSRHz}%oke( zokQz~#rnshWKE0?f8bTS&F7R$l$-^L5AFNVEF*}m4LKv_g5(f(T*agDq%TgG zAD&Kw4IdS4D$*2^G&1t}Q+xF8+E@?^T7O8f@ml*U$&s5Cdu8jCE#=WGvb{9bQ;tDr z;!-f4&8o`iuAQ5QKsyx%vF|apkG6KT8t-q@q|gk%u6s7I-y&{W_l-S>yv_U#4e`HH zMhkdsxO5r6g&;&V)VYpax3}SqW;U~l)!O9+X*XDNQ7^c;NxUH!3&&tRXB!eKVQzY= zrTE^SFT|tR4|OL3G!xjNPELIMkzE?ko@chwd+mWUKa(C}cWZftB&cqDlI~JL%FeY= zd{SqV*O2pp_6J(iV29B9ZuVKECaP557msQ5WK=F7Fm zetNvQap6h%x5Bdrl@lv5l`-Oz*{v#tCXq%nfdP_~ZT`1ovgrZd+^FbJUo&Lcaf-Vh z$N?derd`Qf+1_q#_;>`?%nI6kS=t|lrV1$gDAV_5KjKw1;XkbX$G26bebJPxn@%ww Rli~kD)Q;$AT}tqb`3J1=g1i6# diff --git a/tests/ref/markup/basic.png b/tests/ref/markup/basic.png deleted file mode 100644 index d769a2093b5159d837604b373c79ece4e4021a46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3464 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 literal 0 HcmV?d00001 diff --git a/tests/ref/markup/shorthands.png b/tests/ref/markup/shorthands.png new file mode 100644 index 0000000000000000000000000000000000000000..3a5652ac658fecf1926267658368b96a261ee417 GIT binary patch literal 2122 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 none} + +--- +// Test using the `repr` function. + +// Returns a string. +#test(repr((1, 2, false, )), "(1, 2, false)") + +// Not in monospace +#repr(23deg) diff --git a/tests/typ/full/coma.typ b/tests/typ/coma.typ similarity index 96% rename from tests/typ/full/coma.typ rename to tests/typ/coma.typ index 78a703a95..810d61b8f 100644 --- a/tests/typ/full/coma.typ +++ b/tests/typ/coma.typ @@ -46,4 +46,4 @@ von _v_ zu einem Blatt. Die Höhe des Baumes ist die Höhe der Wurzel. // The `image` function returns a "template" value of the same type as // the `[...]` literals. -#align(center, image("../../res/graph.png", width: 75%)) +#align(center, image("../res/graph.png", width: 75%)) diff --git a/tests/typ/library/circle.typ b/tests/typ/insert/circle.typ similarity index 100% rename from tests/typ/library/circle.typ rename to tests/typ/insert/circle.typ diff --git a/tests/typ/library/ellipse.typ b/tests/typ/insert/ellipse.typ similarity index 100% rename from tests/typ/library/ellipse.typ rename to tests/typ/insert/ellipse.typ diff --git a/tests/typ/library/image.typ b/tests/typ/insert/image.typ similarity index 93% rename from tests/typ/library/image.typ rename to tests/typ/insert/image.typ index 1fa128f05..35087c2ed 100644 --- a/tests/typ/library/image.typ +++ b/tests/typ/insert/image.typ @@ -13,8 +13,8 @@ // Error: 8-29 file not found #image("path/does/not/exist") -// Error: 8-20 failed to load image -#image("./font.typ") +// Error: 8-21 failed to load image +#image("./image.typ") --- // Test configuring the size and fitting behaviour of images. diff --git a/tests/typ/library/rect.typ b/tests/typ/insert/rect.typ similarity index 100% rename from tests/typ/library/rect.typ rename to tests/typ/insert/rect.typ diff --git a/tests/typ/library/square.typ b/tests/typ/insert/square.typ similarity index 100% rename from tests/typ/library/square.typ rename to tests/typ/insert/square.typ diff --git a/tests/typ/library/grid.typ b/tests/typ/layout/grid-1.typ similarity index 97% rename from tests/typ/library/grid.typ rename to tests/typ/layout/grid-1.typ index afb43684f..6a4aee870 100644 --- a/tests/typ/library/grid.typ +++ b/tests/typ/layout/grid-1.typ @@ -1,4 +1,4 @@ -// Test the `grid` function. +// Test grid layouts. --- #let rect(width, color) = rect(width: width, height: 2cm, fill: color) diff --git a/tests/typ/library/grid-table.typ b/tests/typ/layout/grid-2.typ similarity index 100% rename from tests/typ/library/grid-table.typ rename to tests/typ/layout/grid-2.typ diff --git a/tests/typ/library/pad.typ b/tests/typ/layout/pad.typ similarity index 100% rename from tests/typ/library/pad.typ rename to tests/typ/layout/pad.typ diff --git a/tests/typ/library/page.typ b/tests/typ/layout/page.typ similarity index 96% rename from tests/typ/library/page.typ rename to tests/typ/layout/page.typ index 7f9a0d2c3..cf787e5d1 100644 --- a/tests/typ/library/page.typ +++ b/tests/typ/layout/page.typ @@ -1,8 +1,6 @@ -// Test the `page` function. - ---- // Test configuring page sizes and margins. +--- // Set width and height. #page(width: 120pt, height: 120pt) #page(width: 40pt)[High] diff --git a/tests/typ/library/pagebreak.typ b/tests/typ/layout/pagebreak.typ similarity index 90% rename from tests/typ/library/pagebreak.typ rename to tests/typ/layout/pagebreak.typ index 26629f4bd..bb7013ab2 100644 --- a/tests/typ/library/pagebreak.typ +++ b/tests/typ/layout/pagebreak.typ @@ -1,4 +1,4 @@ -// Test the `pagebreak` function. +// Test forced page breaks. --- First of two diff --git a/tests/typ/library/spacing.typ b/tests/typ/layout/spacing.typ similarity index 100% rename from tests/typ/library/spacing.typ rename to tests/typ/layout/spacing.typ diff --git a/tests/typ/library/stack.typ b/tests/typ/layout/stack.typ similarity index 83% rename from tests/typ/library/stack.typ rename to tests/typ/layout/stack.typ index d03a95c8b..006a1412e 100644 --- a/tests/typ/library/stack.typ +++ b/tests/typ/layout/stack.typ @@ -1,4 +1,4 @@ -// Test the `stack` function. +// Test stack layouts. --- #let rect(width, color) = rect(width: width, height: 1cm, fill: color) diff --git a/tests/typ/library/lang.typ b/tests/typ/library/lang.typ deleted file mode 100644 index 87d2c154c..000000000 --- a/tests/typ/library/lang.typ +++ /dev/null @@ -1,16 +0,0 @@ -// Test the `lang` function. - ---- -Left to right. - -#lang("ar") -Right to left. - -#lang(dir: ltr) -Back again. - ---- -// Ref: false - -// Error: 12-15 must be horizontal -#lang(dir: ttb) diff --git a/tests/typ/markup/basic.typ b/tests/typ/markup/basic.typ deleted file mode 100644 index 01582ceb1..000000000 --- a/tests/typ/markup/basic.typ +++ /dev/null @@ -1,12 +0,0 @@ -// Test basic markup. - ---- -A \ B \ C - ---- -Paragraph breaks - -for you! - ---- -The non-breaking~space does work. diff --git a/tests/typ/markup/linebreak.typ b/tests/typ/markup/linebreak.typ new file mode 100644 index 000000000..7fe8a7188 --- /dev/null +++ b/tests/typ/markup/linebreak.typ @@ -0,0 +1,4 @@ +// Test line breaks. + +--- +A \ B \ C diff --git a/tests/typ/markup/shorthands.typ b/tests/typ/markup/shorthands.typ new file mode 100644 index 000000000..38471c9d9 --- /dev/null +++ b/tests/typ/markup/shorthands.typ @@ -0,0 +1,7 @@ +// Test shorthands for unicode codepoints. + +--- +The non-breaking~space does work. + +--- +En dash: -- diff --git a/tests/typ/text/bidi.typ b/tests/typ/text/bidi.typ index 0d5899305..078cb1f98 100644 --- a/tests/typ/text/bidi.typ +++ b/tests/typ/text/bidi.typ @@ -1,27 +1,27 @@ -// Test bidirectional text. +// Test bidirectional text and language configuration. --- // Test reordering with different top-level paragraph directions. #let text = [Text טֶקסט] #font("EB Garamond", "Noto Serif Hebrew") -#lang("de") {text} #lang("he") {text} +#lang("de") {text} --- -// Test that consecutiv, embedded LTR runs stay LTR. +// Test that consecutive, embedded LTR runs stay LTR. // Here, we have two runs: "A" and italic "B". #let text = [أنت A_B_مطرC] #font("EB Garamond", "Noto Sans Arabic") -#lang("de") {text} #lang("ar") {text} +#lang("de") {text} --- // Test that consecutive, embedded RTL runs stay RTL. // Here, we have three runs: "גֶ", bold "שֶׁ", and "ם". #let text = [Aגֶ*שֶׁ*םB] #font("EB Garamond", "Noto Serif Hebrew") -#lang("de") {text} #lang("he") {text} +#lang("de") {text} --- // Test embedding up to level 4 with isolates. @@ -47,3 +47,10 @@ Lריווח #h(1cm) R #font("Noto Serif Hebrew", "EB Garamond") #lang("he") קרנפיםRh#image("../../res/rhino.png", height: 11pt)inoחיים + +--- +// Test the `lang` function. +// Ref: false + +// Error: 12-15 must be horizontal +#lang(dir: ttb) diff --git a/tests/typ/library/font.typ b/tests/typ/text/font.typ similarity index 98% rename from tests/typ/library/font.typ rename to tests/typ/text/font.typ index 34b08f26c..317037e2c 100644 --- a/tests/typ/library/font.typ +++ b/tests/typ/text/font.typ @@ -1,8 +1,6 @@ -// Test the `font` function. - ---- // Test configuring font properties. +--- // Set same font size in three different ways. #font(22pt)[A] #font(200%)[A] diff --git a/tests/typ/library/paragraph.typ b/tests/typ/text/par.typ similarity index 90% rename from tests/typ/library/paragraph.typ rename to tests/typ/text/par.typ index a26aed840..4ce2f6f14 100644 --- a/tests/typ/library/paragraph.typ +++ b/tests/typ/text/par.typ @@ -1,8 +1,6 @@ -// Test the `paragraph` function. - ---- // Test configuring paragraph properties. +--- // FIXME: Word spacing doesn't work due to new shaping process. #par(spacing: 10pt, leading: 25%, word-spacing: 1pt) diff --git a/tests/typ/library/math.typ b/tests/typ/utility/calc.typ similarity index 88% rename from tests/typ/library/math.typ rename to tests/typ/utility/calc.typ index db234d9c0..3bfc98024 100644 --- a/tests/typ/library/math.typ +++ b/tests/typ/utility/calc.typ @@ -1,4 +1,4 @@ -// Test math functions. +// Test basic calculation functions. // Ref: false --- diff --git a/tests/typ/library/basic.typ b/tests/typ/utility/color.typ similarity index 83% rename from tests/typ/library/basic.typ rename to tests/typ/utility/color.typ index a6aa71afb..2e40828b4 100644 --- a/tests/typ/library/basic.typ +++ b/tests/typ/utility/color.typ @@ -1,10 +1,6 @@ -// Test basic functions. +// Test color creation functions. // Ref: false ---- -#test(type("hi"), "string") -#test(repr((1, 2, false, )), "(1, 2, false)") - --- // Check the output. #test(rgb(0.0, 0.3, 0.7), #004db3)