From 122e8df400e5a8bd4df1655785e6714110ffce93 Mon Sep 17 00:00:00 2001 From: Damian Jansen Date: Mon, 30 Jan 2012 15:50:02 +1000 Subject: [PATCH] Add more element qmltestrunner cases Added remote testing to Image, BorderImage Added several basic element tests Change-Id: I1a25f31bc66be6b096a6d3c217196d5625e8a2ed Reviewed-by: Yunqiao Yin --- tests/auto/qmltest/animatedimage/stickman.gif | Bin 0 -> 164923 bytes .../qmltest/animatedimage/tst_animatedimage.qml | 220 +++++++++++++++ tests/auto/qmltest/borderimage/remote.sci | 7 + tests/auto/qmltest/borderimage/tst_borderimage.qml | 66 ++++- tests/auto/qmltest/fontloader/tarzeau_ocr_a.ttf | Bin 0 -> 24544 bytes tests/auto/qmltest/fontloader/tst_fontloader.qml | 97 +++++++ tests/auto/qmltest/gradient/tst_gradient.qml | 119 ++++++++ tests/auto/qmltest/image/logo.png | Bin 0 -> 1478 bytes tests/auto/qmltest/image/tst_image.qml | 216 +++++++++++++++ tests/auto/qmltest/listmodel/tst_listmodel.qml | 132 +++++++++ tests/auto/qmltest/listview/tst_listview.qml | 175 ++++++++++++ tests/auto/qmltest/rectangle/tst_rectangle.qml | 137 ++++++++++ tests/auto/qmltest/text/tst_text.qml | 120 ++++++++ tests/auto/qmltest/textedit/tst_textedit.qml | 165 +++++++++++ tests/auto/qmltest/textinput/tst_textinput.qml | 286 ++++++++++++++++++++ 15 files changed, 1726 insertions(+), 14 deletions(-) create mode 100644 tests/auto/qmltest/animatedimage/stickman.gif create mode 100644 tests/auto/qmltest/animatedimage/tst_animatedimage.qml create mode 100644 tests/auto/qmltest/borderimage/remote.sci create mode 100644 tests/auto/qmltest/fontloader/dummy.ttf create mode 100644 tests/auto/qmltest/fontloader/tarzeau_ocr_a.ttf create mode 100644 tests/auto/qmltest/fontloader/tst_fontloader.qml create mode 100644 tests/auto/qmltest/gradient/tst_gradient.qml create mode 100644 tests/auto/qmltest/image/logo.png create mode 100644 tests/auto/qmltest/image/tst_image.qml create mode 100644 tests/auto/qmltest/listmodel/tst_listmodel.qml create mode 100644 tests/auto/qmltest/listview/tst_listview.qml create mode 100644 tests/auto/qmltest/rectangle/tst_rectangle.qml create mode 100644 tests/auto/qmltest/text/tst_text.qml create mode 100644 tests/auto/qmltest/textedit/tst_textedit.qml create mode 100644 tests/auto/qmltest/textinput/tst_textinput.qml diff --git a/tests/auto/qmltest/animatedimage/stickman.gif b/tests/auto/qmltest/animatedimage/stickman.gif new file mode 100644 index 0000000000000000000000000000000000000000..7c4cd186870bdacd0eb1d9dbb1c6d56c1a63e27d GIT binary patch literal 164923 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

l>X zWlBA#E4O1upemC`duhDWMyDvLXrt?L^yYcV$qR54bb1 z-0Nw~w1tb4UNtuqF3@&)?jZOtBdeCW^ABB+@dES-z7MAjo#VtVAl?_-XnJpQ)_iEs zzx@PnrK6w!D#CE6OIOED#F92Q0vK_c+E_OSWBXrqeRiFEjxy#vZA06O3`MUqfxeqb zLu!*G1cWo(+@RgTiud(S4wpOT5^iEaI*R4P?+Rbm2sayeIh9q?O<>Zws#nME2U>@n z8Wmm`Z;0U%8a3Oon}3lRnaXXYx1Z#U8_^GeZHdq~pi zMCGc5mFm5g$DJdQSrdEvMDxDwEO*}}`Ad5HJml068vDq`;>@%+=qI7u^6V&UXFr*RkfIRo{r?|v9Wl6o&{FBSbglJ z$0d+>LPI@>H4uw}n073cY8TzYBtfmXbJv2UfbKC{f{c|!-PCIj zF~5sZ+;qLai&4tQPs?^yi5MKxd?c3%{492dVpK`I%Xy7L6Qe@B!_axrw1Q{c0 zinU4)PqL=0)U2u1d!|-YzpUjOZ+>`qnIp- zTO5~q3((KvX?Ny!oYa`h#FW9D-%K3A4{!2-|WW#9iZO{H1a$zE@{lGd`*7DY;eIg9Hk#+d)E_IXKQ(^+h^(# zJnrk1gD`>21{9A_2gbBe=<~uuI~DR=mYRKM!sH?trsGeq{x*%iC1b>_Lpi)Kg#xoE z@;N$64)L4nbs44U>D__NSps|H?OfD|1^5&?bW{cno?V@mU~9rLjB{pYcQ-TS23KhqzG*=*6G(1m5r?ev>2{lw4yd=AaDX+A2qXAQ9%KVM+H!H9l!s#!& zLH_H*N`zdGHO_!it=`GU@^|v_5#+ucC7Tn$Vj}I%=%d1<~BG1{rd$hEsWG{THvfdW{vG25}X&pRsPSo6d z!&wt!e+5Sxum$yL@`eS-nvFwP8szxkdsox4eAqo4hx~`b873nyp|vKW=+SJsVFF5I z{?Kd0?MrC6H4&Qt#^K1kgez-x;Dk?8rUF44yyk)?fSLu?=w%hgxg=eFMIry&Or5!y z8@+813rygWP~wWL*PNdL3P;44XZrC)x}a$gSkHdgLgv!H`cD1_i80}j0nxs0gLeNg z8+RRh;6~J?twC^Bi5XtHPf&W)`knDY4j@NMhdHye0@6zo#VQ&5UZD2H8ITML{Hj;l ziY(KSJQi0A)r#%k$yp)giiT?~qE+vns4aP&s?KFXGu5t*H9LP}5@zs~8hhq?qE;nV zL2{-pflFsx``X6rOHD~@OswhW`DeH>6fY0(i{mRvm8_Z-qfPj;66?x%NiM0s_D*gk zjkoKSZ+fqtYu-<%znJP4ygpk_xM;=^h>T4g%JTU!4i3oryyD;#_vBjO9`b56uPOR4 zgT7;skfY7LuR`o5_fJF&WCt^8_)Z3_?u28*ryyw$Lby>{e2}vdTB+8e6{h@=u@E!P zkO^J+T)&w)7XDB{PFcG!?3IVlZfoTT#e#6+0hofyB?0Jvz8JgCZ8`{d-ii+4OW1^sV)ip*40mWGd z4)@`QL9=ywq8789Sb+2K@jVo1KE#0Yd=#cZ(UGWxd;ud}@y1ae=NdE&>%q1cFW8__R@nl00tLAsr`kiI+FZ(%^ z_+Xt8K82vn^lHP=;_%m}N0qncCc7LEsJ#c}pBEL+y)#*4@rTTh@a%)OQOw`Fsv5GA zO*#9O+SXTY&-m-xAbDNIBx zMeNVdtmHngiomQl?yLV1_#{gD>-4=pF0k`|?|r0QxEU`U^ge1y+`nT`Op~}pD+Otj z2g&|}anb=spyK-P9k;AFt>YH!$(K9t;R)D;8ieRaLus_p{0BuAjN+?+{@H;;c4zb? zUz!NsFSCUaopt1=-&cFE^%TF97acA3?Q37vVYjs@LvFLKAqPKAJ_GYfdy8`vLu%0? z+s;l{%6vCY`QiR6xrdNqA+=C0;UMhkD& zI^yeQI)6vjgy`OW_FvgR+=)kcpFnJnKT+p1*|pVjaZ~ zP34Lf#SQYIS>n9-W1uPwGlq`!3e&L{n#1jUDV^2R@yNIZfyZ5ai!%v#m576J+H&vN zlXQXD;d^K9FwO$yfE#W<++;Q#7;;(8bqOmsx5l@Rtd``Bhbc0VUD!MbhzxA z^Vax5$Gx@k@yVg1f1T>}N9obp?!WDTU3KB^{9D^C__Op*m{xGt9X$4UAj>H<$mr`x zWkm1jR~lqA^tLR&AnmdDI$!7v?Xkxq{65UE5U%dWa`4zw^G@BBEizBMQ^_ysU$d%S zaAZmfvQp#n8^xn@cue`KE9gi zywx%8IIznrmEn7T)HRXo zHSGLXkNNJ@o28di3%@KmmfFd$1TNBG=lulTHh!c9;9ShQv4?H= zcpzUq2`c|_AeGq+{a$)M!H<_5=v5hTNak^4=5Q8Z9WbIak(Do!$(AA4;bJ`dw68GS z1dI+2>Bv=2Z(h`om4S+Y@<{2YG)E|(TmMKzRL=;S5x6#N__z6VPT2Woi|}k z(HmE|3`GQ#Qh9z3;*ls>q z>0qTq%7@|8oay-g<}a5C*no9~8c^V4j+<~Jvc>b|D&*Os z!O9Df^jDM*7QoKbd*T74=tjWi%Dz$3`5j z*`Do6sRWl~_*`2^!K$1W<^)z*lM8f5bn(DVi?U*?30-k6nbqMqyO#m6BSIhZp7_6J zC8Ybh&qO^ExJk2K56<`0-bv8&Qt~49mvVKN@Q7}&Nrvx-cC`4EtgY+6gX<-1-axJu zKWhBwVpY3A!*bubX?=5RyL)?zMIZk8F!@ao!@fy&$ZkOa=)n&haWE7SIBOh6wbHT; zXDcR+8M9Xm*hZB&51MFX&-w79?Zi?qqF55Ou+eEDWc{e~q4Ie?r$B7%(X0Rst9XS} zdV3GZT-Ag}6OTEI2UG6cEL>kkWHbc;^0Ra{<86aLE4+4+)B4<5i8zjavs^s0j3_70 zj@U_bIM=JdoT2{AG}**=WAQQ2aFfG9?Mmw+Bt1+O>WGQj?a$9tD(-v(iCOcW&);AK zEEdEwDU$Qkka)7Tbv%$YB(s{lYowpdBq>idh_|Pab2nHo4~8%a7r7Or;1|o>SD0Uw zweD5`rQ10s7_W5f>Yl84axuXY`?q;k%s+p-{+CuT=|8P3MxTQo_{W#JTJhr>1gLRvH?)43?@@i1}b{m>YM}uY{ntO)5)+k%#C)3xH zbn_9E1`C+%C4Szz$Ag4G`rRs9c)K{{2HUg{Bdj+ph-+iD509Qv$?$Za={UTt2ilZ> zIIN#_aSZQP`XvXksq`dXMZu@~{geHKF{zdS(~Wsp?){JcD&H_`x+b9Udbz!X$64n! zGQX?_zS-ZCH!wSLBr4r-YKiTl4&9NuO95v<{n@U)x`Sixti2JoVG8bKZZK~<3s_Hp zn40rIh=2u0mK6`?#4teV^W2zQ9QtDA`cq~M71qr36I7E}ejahNiCQ$YQqny+8X|sT z{rFr$f3X)>?G|3k%2&7Tm^}upU(FJdwqq}>Wt!BE!#)!77Dlo3I9Snu1jmSICNWT!{^|n{9DfT6g!c(Kna(}^%@8~yk<@!vDj;iC=PxA-%(8Y-A5rtNZN%BH zr?YUNp-0tI`U&W;CACa@S>j6lagm}=ttUtRR*6i94jsBo`yI+Y{^oe!qWxSAd)i-U$(}c2#Ji)apwBXO@(i2+@3IXk zW)}@scdFq1rA)QFO-waTrc}FnJWUI59HD6eO!t&bS8tVi%uNgV54eCTeJ8y43Qe6S z8&HfA8clUqZ@0v=sKqt;%0OB%(hJ>1ILWad_d;HJD-%y}ueomCmea#8@UjwXlIp)Q zsOb8~LB-z`VCgd)Eh8=E&qek|-?;>?Zd%Q;nCiWSjs=CD8#F;E`O%VTi09I*z0R-E z4L!QR$!-fgZ(z!2&D=AW9T6d`@IES9To_`OfE`<7XVB(Gx{ zT5-9K$NY+FM3(Q-Rs8ao)So`vtTv-gw$LL_dd?8DNt0 zj$)7;PwV18n3pj;r)`3;elV@}{7jw0JuDut2h6pze8)-+SDj>JqmMOOA8&iS$9dzV zd8vI-ibSnf6Si`mioNQv|EllvESaeNmGHw-)EqCBOkbbXFDYbKnxQgO4Sx0J2BWQ?@Ac8|6RQo9p)Lx25u`^N7uL+fai z>Whsn+=4Ya=%&Yy!oK6##z&DNHX+w|qHJh@Oa=X*(=P9A!p`2-vh`r=mA8$Ec4v4W z!7EJjtqEcr`9l%y;_HSsTBRBrZTff;9Tyfa#`NlrndB)-rZthUn~ni}6 z=+^DJ6eM%*7n|@tt0+Dlt}dc&pro^GxJxj}la?l~jBiSgpvB=;p1hP4Fa`FY&mxu96CziB@cL z*x1`x9^9!t+F%TLs(v0p4#x>Zi0Jj3CaUEuu-e|3>RfO!Yq?vH-#b4uVm-)b>p_Cwa)5s$I*d4U2;jF?zdU?`EJAa?7EIW&)&CX(WfX@OCwXbtpo zl4edM*%d+0l9dsU+7SsPcP=jyy}P^<;_qFrBiY5dd&^l6Qa7RC09lJOZeORO2`!KhPNb>WV>$ zjgY}99l7bj3df6U_gRo6N8hJPsIl0Zj4@& zp8hSK!$kJg*Y(cUm`Wf9X!d!Y7?0K4Z^D)=z0FUUUoE;WtNkj7hv3y*UZMHE>S}9` zm5;n@Pg>xQcn-x4H*C%c&YST8Id1bev1;3Qk|aHOh1UpJH_S^ScM_S z;(Upzt@cUKU}_kr(!f*@H!A8u6u*HTB|B`l!PklTJRXj-09Ytp*{OyOLt~`!|7# zwyDW+e!w)D>2`>ITjG#Ftg$35-^t|;9VGeKJS;t3T$qmN0UqwpG0hBTbW9Ir1`u(P zYmDTKyDj9oTqgrDVw44RXAz7;iHMC@DP$Q|OY#G4IKYllUNW3kM5v&G za84!RY*`@H-IWwVKVT7^$^k6Q>7tJo!?v%9ag;riJK_LS?8M7 z%I8(XKEay;_jq2|1zaiwjd!*Rp-Y3Q|apxT5%i&;Me>tZfueoYu6FNIcdSZC1{J zi#gk>kP|yrtTl62cswdEo_(V(C*jf@gFRGD$#^ziQ!gC%Sex1FY_jea(K;nbtd1wu zr1v-^(Krrjmjp_REU*W=_}Qi1M|I9v-rZ5>jIMcRN(jVve&r14o?Dvr>=>eq+52(U zEhGlkFfRHOt9NoCvZng%a~>4H=EEP)n}}i)``Z`tFCd|5$=Fcbd(vb$z%gGX1U;M< z0TdS@*>NK42ea+sbUTZRmx0!45e-yy_{Wt3;zvTy98w{G3)C2d6&1s0NgGN%zuKGnr)I0IHdaMt7HSUSElg1b~IJ z#_6}hqkc4(X6()(nUT46D+DYL;!<^E#b?MaLA zdc?FB!?3IEa47@@0Jj%gtJlZ28RUC~SX*{^Gc|#^~+0SW;1= z&+X+EKB{YBASz(uvmsk#P!_-Ip8wE*wFP&g{3L>o$#+ukget@acnXzoL%YSy4g$*u z2@z!XL0qJg3PY~P`S`k=Xqo6Ju%|>rJ~-xBYn@TF4Dha9-2Pb9jJeX9Xja1XVMT+4 zJ9sQ8k&!;iK1pY}-8$KU6SIa&vqq04gLk2psj!v^ zp>*fr_EEfhg}g)N&7^r=f^DecD8bpKFM|M6>fj6m#=n?=Mu+-}W+PP_?6WjaZ$tCq zLxqPjlJqG3#^zi76q39xh8O=JNoav=5{kC*vL_%rM5!|HUEX{|D~?)_wT>1EgEL3K z!iRKgVK@o6h)^K~gqJXULhXWJs^t9MQ$89u7FeK4U)3nl+~cUowVFOS zqBwZX<=ca%C(I^)tV3*Z+5WEutj^@a2K4{MX!#e*&THXKs7WK*_^VfTU#i`^Be$5g zJ{VVnCu&xQj6_EpZx`Uz{SBqY%aNZ;W^voDmQ~K%{F{h0^82T*JHwKr>|{_4eJOnF zWu1)PZ;0ChDfj$J7m9KPk_rC1Vs@Q{=CwUyyV;g+s?~f5&N81CC-Sa-7Oqz=Uma}- zJafjJ+o_fI2vJjaK~CE(_e$L9h|9ED8yTzI*K}&>Z&aIzc^(r)R=xiGS@lqo_5DQT zx3R8;cOs`%zpn4aLo_g`L!99}A$0LreP5c9!C3PVq(A$SJuKYX|AH!s*JDvPZOU(Z z$8L!0l3OOl~q5wz#Hfy_BIuS;t&Q{#di{L*Dw*nDFMY4!88{*gG0tV zqoxA}GG_h`I=^Io(FwY6G|M zpOUq@n2N8v# z4a?pQ%YH?~H8C!us%LxXg0k_eLaS9#{q?I=HJ!q%;nU(V)*g%TIv?^Za5^y0Fc<$6 zn};mv_SSuU--^Syfh&-lv&@Q*HyCqp}Wbz8*n4ayQq5!s+r;s#GjGP!VUUh zn>PJL7VdJ!Us;x(mfQN{PdzYM8OnzFv_eL_osFy95e)_Y^2@JV{F1?Y-{d|4Y9Ds; z*Sy>kv3oAarkoPcHwk(nDt$BHL+UkXIYQ+f%ifUSQV-)gW}oZ_Ua2iLMZ}(3_cR^i zGFF=_G?QN|Ac-80)cLkO8~;pmLiTiq)9S45`D>B*rW})z6jJTUxIMVnDsSmNTkQ?r z8y;&DC(>`?KB$w=C9>@p^B^#MUKlTKI(;(RRKt`f< zQ;3+QrzO7rEC>vyWCX#1Vi$lgR_%F=)|{eQ5@c#9&HSFR*qC#a>=rQ_Z)MtNZFjpSt*Z$29M^4LL-t5Zo#5;Zi@WG;ftfqRLiE1XM-@o%m33M@kNnS7tzk zWxRILDGv6<=(zaJfOoALt)MR?(SuvEAM1bL58GOC1^$~>Y5(Z|{&V3y`=jvQ{?)>x zdtf3lQUYs(J1et^jn-WsYbi#jmOiNR4crR+Hn2AQRCJ6UQkNz@)f#b*WE7D00Z4S> z`Iy>dP^$LSLE3cQ>HNdKLNCo^!UvYB@%C&}|1VDF)ec=%5H{n?E8C8v^<_? zfBRdw>B;!BYb*WjsnV%hO&g1G`Ek8WpNHcEj9lEMnE~2wmj^Do zd{niEcc17OINr&-GxU0XH8K%(nAJ2pnDg!S<4^{@feh1AHD4@I$2Am20*=c#<~$!P}!vXsW?TcHoJt6hZU1!?+kC- zC2sLCo=*gL|7M@8ep_rR(Lh)WlFDHfJ?92=sn5V(5ADoNyPBj(#PNGa&pRN9L&8Du z7D{dgTkn#6hIa{eLF4|K*hK=Woo&%$_f$hREU-7)+#_Ni2hQ7JL|@E*qcWe9OU%S_ zm^ot#C{`$z2H}ukF$^x>1C1wmk?6(Yg`w1%N%GK9Dwo94Wz0KJG>klU3*E`2%%n}Y~ zYe1)Ck~2t!1m$}9Zo!8$5Y;t-G1a7@de8I*-6;8wZ<~E+$$3tjVzza`bKaXsUnn@j zkwe~lN1^OlS8^X`s-?oUcQ3r9Be#k$&X&FWS1o4INWq2JPzz-q6|ZZEp}Vli>Jbz9 zwZ?PC=VKY`K7PcX4L=hUu=`bW?qwib#M<}#jrl$j9uuRY+_t7%u>YCvql&`FhF4qO z00l+cTU^tnl6Y^{eJuR4;?p#7?a6-r-umW*&i*Ne?2rP!7rf4zsWx!sO33}Hsz zwGIDf%V6|~Q+3c*ha2T+8^sSd{RtPEMqjR3oQ_FOWXSWorYd3=_joMI&P;iYWS4N< zieVO_1{btX%;ek2GzOry?GoB#aie+$CKn*7A?q512n#44vlLS88ZxGrPae? z(YRHoG;J_csjoUOz6-T@SI>9!jBF!0~s(a;Rd~kD}Egt3dO~sW)5m5%l>X2 zxmhyitZ&9R@N(T74`4~!p5F*1c14&X*-*i1UR?Lb+{8fWC ze>NSLSeA;}^pqSWBjk|Ve29wjQ4~AS)BI(ke!AQ)htv`|(lpPhnC1H1(<;cdnm{gR zr?H!rP}T2T3iG3hagXk}7+U6${&k8XLBr{4f7MPalE{z5<02K*twkm#t?yaz;Q5^uM7}4&tdfFT= zFvJ9hRm<(j!`Le^Iy|=8m2-&x9@2?TRikvK6GHApb7Airi7>GD;I~PWHtKc}ad?kN zt=ro)F(ia}NH~+~druVRd+Re=AIdxatU&+C=^*znCFGY9@=FQ%rG)$?CB%1mC^^?x-H(tThNi%h z?n<>2lLf}>7aTFX$44GN=y@R$7~P^hQ~00&WjY^~BfKM45T{Sc$dL}EKnpB~8wv|y za;y^m7AEb5#Sv1<4wZ$dx}wSusfLyEWnF}G{z(H1{_4jv%g$x3F8`o}fdAyt@lT$0 zf4qc$DIvd z#i1G?EL7bCC4}bAk%acSEMc+=ZP7Ei?fqsG6~*xYm-y@Jp14gTw1rEG((?BO zmrH-PSMbjqb-#3wUpmMy9psk|^8dXK0{#yj#HvA@M49!2BFKpmFt%ce)5^BE z>lf3U;^{Vg;v(5d8J(hpX^!;ErMk?ulBIa1#^svn5+s5&iP@GUaez*&_^jx0NH>iB z{Wz5RcN~YbgoHmjzh4^2FAe0E2J%Y-`PVg&*7^}_o-yZSY_EGNd!}c<0zBQv0KQmY zH6^4pU+5;oF7YVTYgn`dvAjE#nro{lmK@V2EJVs2lFKaR5r65B{*p=AvFK4RH8=ka zz(Vp)F|P%8c5l*vWYP?4VR4qC%u7i9pqzGA!@}Re_1FH45b)3Rgnt}@zeJEVcE1yBdZiYG@IbY*kNNmh-EZ zdVx+QG&uK6Wx6*U);QX#Lum3v!=+n(z)lpVy+7qdelmUJ1ICX2+K|YTtNfONEl;Q? z%3J>sLDoC&{hRv3Un8f0DavHii7T@B}Rl7*zoqsD43-~%e-rmT1 zzo*G>Xs#z!EkTM!(JQyV6fx1${4=6^`M>cx{?~}^e+-v7DYr;Vgq$ZChQ&3j+gfE@ zH8YFA(!Jn_JOY`ww&xPw#03kkLDKC-iQXwue9&zI5gb~M)U?Sm+*Sz45p?$6N1F6>d;nhfppGcVH>)M>2aN?SeL zVV5m#!1ek2hmMD^S}A=NH3;Lw0i2iK&%L9VX`AShuN9icTjYTD0R8j#3nB0DZP6yh zBWR^O51wx|C9mr|PkGa5Zq9F-j?HcHWPDksg-|d`phSJk?b;(R>acS8RX{=j(g;>_ z^UpKnOqF-{Zs@x>zP)^3^8=N$TDzB-uGV|i`=iq^%=vk{m8XyG_&wL7r7Aak+&fzm zeg^sV&-Rov(f)m<&6UB*zyJIHk=}i#x@25{mU1+;9U%QDLGy1nKId~jl} zF5`hQXT*CKeHWh#5T0GAP+Y@pc77-$zxH@y5Uid*)mYV+H{H2^Xfm8GK6)5-ej0WG z>xp&{PPb5H5yeOKhzZ0RankZY=TbQwVoa!m#jN~JBH#v7LWd*Ij|AIR^{fbFj=EVMNC%=O%HH1;<`@EM7~3sZFnSH!Y;B&np|1TSdq+VxDuFj$Ey0t6f;>(BQvU z5ier*F9R<%e@9wu(2y2Fw3!O!Q~t}xm+iW^X*pOgaS9LhsyffpQYUYn+6vo|A-~O5 zJAC#oEz_tcpAM&#No8I($TF%#S0RmQ=s{sWrZ%RU4{i9vFPMxFHInMNpuBc39Uqcu zjnm4q6~ng8cyn+^Nv3id4G?hd2R~@E_sUEML%|)w2h*!_9ZAyGEtL9e3q9%A9ziWV zzsx?y=nkl_n#tPqmxz(#b$#SkYij=A!M~@gWW6w$dXuV>(e;HFxm^46!l&f}>^|Qq zC8?iD{B~>m<&b|^R?`>2?u)=_(;)AgKVmobI^Oyo*)p}cx6kK083+)nvjM}@zfK1D z6w6Kpe^jTPTwBE=rjOWEFRmKWVR9r_|~h#{W|N#|U=N6Ef=MqT^X%s9}U|-odgGzs!j8LaDC1lRJ86YXsG4nEH)Ei@v=HqXaoGWotJ+H zP(UZ<5cr5MZ599j;E*d_BkL#K4dS(8k~!dz%PIwOR>RvUhwXu5fO80wOv~p=o=Oi2 z2P;n`GasWNtDj|953qXa)Lt^Hv0mse_BSmZY7U5*jyq9zWvT*sN*3qg{P@EUBe|BKEHZXkONoGM8YQeoz0&^#r?P54%a;VpODqRAG0nu zu5QN?p6uJ@i-U3vKF)DPyzWv}xzn3Z$K>t$xLB{!&D}2OvfqB-ZkQh{KKM&>`=Et; z4t6Zir!R5>zLqJ>jyykKaM6po28#(l1X#p|uB%6xT3_5ZowPiLR4|G>U(uc&I-JNb z1^WPDm?D8BY;1S_-gi0m|Ghc!WV~K?=pE z%f&?V?5Wf_-71^@t}peH*wU540kXM9ImVT$O=#mn({M|F6p#NW_@ONO zcc)Xt&yt2~oudh&_((Pr1pWx9ZE8pPi1jKJydK3DBJypOBROZZio zwqYdXPNNko`?`eNki`A3s=P@#)x5^M# z@%_n*aRN7y7H+Nyk?HT61N*&3hY=^H+s))*KG@f|{dfH>H|%`!`)XrMqidb~x@#8n zn)hYCzg?%FSdf0b<%`@C8p2vwoPValb7zl3G#gUPH<)I>zS?1o+=y#`@Q_Wfmcxpf zcY8E6PrdH3XHzE@Yxch2YgV|0@xTNBV=Wr|!C%YMa!^ljS~;G|TTwZ27DEn};j?ee z1RkF*X3Yu`lUkZVYq3U++B^->vQJ@7B~D{RRXYVRpO$L)Tu-eXC;Bm!d`*wEz&p<2 zPA6%OB(!!ffN^g0<_>Vnnjuo61A37=tCh!m)Xk57kw0;Kbx_CzMLiBhaH}EzTM(l-2;=*BocnDf|a3N@)T7tKV9iNII7n!#Xr{pv43UBOroq zDcZMWIVWSf7yG#3{V&x zSExlAY;paKad_Lqr};cXIbAsMVgXO<-jkmV_he#opQ~^+r@xC{Z5-)04I*bvVoh;<^qKXe!MGqv8S733m;q>Jf_+H6x;WlsmcV=1c zFBLt_oam|W_9$7}UVRQaS@+V-m5J|#(SF>GZt8hyWXHRe{e})BLS|r&w4C0G=fu&K zjIcQ$UB~rqk)AKP#U$w;-@gpF{@DAvP#To-XCLjqGWw)>pbtJ;$bbH5PyMxzR{YmT z`|G3q_0j&XKHC4qP5ZlJ@+4z64Nxuk^QLv|$kB=uZ;q;>-L%XHH*IRp`+Va{{+~B( zh-D+Ho6~#ItQ68s5K6}^0*ft=G6cr-7hC2&T&mz%{9H2LY%{jC_pR5Zt;LU#bV29b zx=ou<0k7;y^Vz=6)JJ-4O}?LdUtT(|+5VD!(Xu+{;_*#?!|G?xat#f6quCssT1e&y zg0uPBoqOvgwjkuQnr?VKUw(s=A_a_YJp6dNaR1Cr%hAiQ zlmeLDLi(G9FCUI4i>M|LP=T>qwIw2i#&3>eBCFf!u1t)q1jLbzFXNhw%bMAbs4AEg z&r`r{Bh>df5xiZUv7@cNpR7ol?PqPa%*aVe=sECesxLO^P*)hgp+qZ*%V|%YG!u)I zG`nQR(ZZS&pbCZNJ(Q1UON&+nJK9^G(P+c_le%lH53-R$uqBxY}Zr4<4F&^MdDg<}TnFk_))A-lGx#hC3 zK0tQXoz|iJa*D>w`II*WNUK0<)g8n*W=g8b@u|W5h;i+vxRcQ{7C_UdT2>u=S=Sw~c~PgEvELBE zfq&Pna81J!_UdM78~gLK7uh{uN@sN;?5=aXd8scm;|INj(ITu|W!D?f}htJRqs zx+m?c@X#NU5_u*qJ1I1Ixd`wMz$^L;pdqz3T1uzK5)0hwO6t$v*ENKNQd{^(M*ZRy ziGdyO%RfjIc)5(&$BeOlY(_X-OL_JKD^}LVcKT|2rzVCp9osM-fa9GRS^wf{dQs}t zpr$&h@u|;``qB3>ufI$lQg+_uSl~=mYS)B<;Hf zTqt;urJfvrLy6{ujz2&{0I!N0Qq2T_Z5+Y0gjGgY?=kT=613dh!?DH)uWYj_o5&=g zwDVH^88XfIg2H|&x78cjMI~B!N_gQ zc5%u4sKc&*7|8XDd=GMKK&16t-T$VilCG@vnZDcq_2r#aB-0nHH$FCe6pNP^ zd!oEo^5j&F5$ZJynV{a$*+1biaZbYq_|3UC+tBYVTTb|qb`4AO#JPp>FwQNxVSh_2 z_GyhZ#kxu7GXw?wz_7!MZ(M{MzK#aIV>HQ(`<%F)rCaj0KNoh%z@b0>hK#Uf;?Uu! zS?I%c$VHeqE3PjPfHX0)i&7lQNVQfM6AJxoB@d2!Py-oDV%asCNLR~k6T%qZRxp2r z5LSfx*Z>C$9y=pBNLImC3;JRAPXio*6Pp~E>`?k$`y>_*Q2}pe3USfO3Mf8-b_OuP z+@$n|CrHRXjUi(D)Y3%k{-V|9yp1D)9rO@09wq4cp^cRnRFY&mO@7wyE9Urw-lPbV zr8+Ab{<4BPSoEH^kd$Ph$7EgfS_$J=8_>%MD^7vxNTm)LlOz*T*P?kSE|P@~jXnUf z88V6>ArgBwbj88t2f%-@;A``j;-}i{Tx6Z4T`p`a-h8PveqfjMp=dWJ&8Dpjc!F59 zGQ2F7?`3kiw{5D`VZ)C*V);`S-F%nmt6NjY7k;}g%~6_pb)m@PF`wa5B`Ss`lP_H@ zS?+REt8n)lV`YJR1Kz1HU~Z0WO91dUv91%6IWsxJvO%ah3vvb|s2$;G9~x)(MkFX> zYXo@SYTK}}SNXhWh|i3$@qkjMvNu3~tN5zZqw^)iYCYFe)l+dgK1HC!;{|Ti2c~+m zzqz0(JBW-@6^_}|pr}G>J|ez;AnQ1T+lqMf>BeSMPfylx^oSn9zka2qvA%^1m(fRg z4$5nJ#)bR7@k;*V_s?%MrT4zPH_g)j>$7IoV~1|#w#6I(S`;2n|Mq*@rw3nKvdGcw zW9A1~pmU~OMx6%;V+F`E?JFd`PE^+4=LV$My-86|77z4&KhsNka7u2DqZHKRlx#iesp*mv72s->Jzl3eHs@xsW(;b3#G3kyxW6_njS z^!htbpqNH-*K#V|w=wJiwY}5qL0rd6Mz`J4$Y*Yz-r?SzSbT9?Gs}0>{$ck>=Dwk3 zW}u?`%Rbn(?=Gk+NGexnrR&8Y)ZUjbQ?0J-ydJ3Z52>|;z#q^0I8Y3XX4&`mw8JMu z)6X&3dYo$5nhcv3@=Xk7kKg8XXZB9x*5;cxwY|>`pxJPxDK(?|!kw7j@Bvubg-D0D zzE%&$HZ{`XL80g?;pWut{>7B*U987(J8feR?L(T{bGz{Cr*Xt2ID*CFzF>&O3Z$4PajOP7&%~6 zMA?IiJ3rVrFSHn1RpRsxlOnH_@)8@!F0C$$g2i1C-jFH{<4y@mVIOog?#}LDQ7p0t z-d97{60t~p!HIVhi_+vVDo79Fwry3iAnH9N}^g>`!yHNq{2rM*nxbP4`q z&o+g)4c%x^|I+Ay%oR7IGQH8oHuP=EdV4>g-%yh*`qgrWJT+>*c81y{(?KuLA@l0F zOpHu-OFTCpfqM01-z&G=>XB}#YL>-{|EImP{)@70*S+#63IYn!DKRuCAT21Mba%|q z0}L^Am(pDW3_}b(Fhh3;8Q9-*8{oai8aL9q0Kq zlVb#onXx^vW8g^*fPuLeHj|{5$ArJ^PeNq>|nAcn&`Qw_7y6CbYOw ziJ?}cPi!GKDIvO+BAI~5PH@)Wo91FEhzxqM9L7?5u@W`Oqyqyb1 z%6;W}y40d|;z}#_%IaH?{q3ywt=RF#L4>~sycltFaN0IJI!_?D<1wEV-Nb+RrscX} z_Q;Lc`}*OQu6@l-L6X7Tasl!^V)z^$P~R+wP|K(H$cDtJJ)Sb@&d`AYbLTg+UB*br zsSRVrbU~IZ&{Jwf&*)C=z*h`pxq2_58)Ob_PFoC?qQCNT1GQ-`69YxSmb1|xDA`_o zny9eKj*C$u1*nL8b2C$}+-63lfI`ql0S3@DL+5my;AK~h85wYD$frW{G*nW7Ht+&1 z%L2bvI<<%;!~R8ue0htu@U%ttutYr^l)eKxS+}zSeHn1_lI3c8Ao;N&UF7j-a3fQS zYJjY1zF8;fj@B*0+9LlWtkIILNa;hp5x9_9ni8h85N-oXwAKfIOrH^6D{8}?&6AP6 zm1jn(PI-`V+Wx5h&zOYjU&)hCZ&stpoVrsCxDJ`w<70soD-^($e zjwa@7Vj1N>KVJ@l69Ou~@Co9fqvvQiVbyv%X_Y( zLCN;Eyo6i!RI01t4L#Fd{p`(s&#pd`RDzavpuNS-kjJ43#`tQ1Bfm@@eA+eZtFCP2_q>OFV3})A#(a zpkLr5addH}XSWM!ba7e~X-rBYaIbgMQ)xB9zc;w-B)G_ViGkp^Lk(}ZvR>lw_I=tg37M(@jE^8MZq3k&JseGz^*|7p*cy0RZi8B*R zgrlQYuP**jy-*7wG}@LpaWfJ8S?DY;K&skoSAI)UY{4(ey9~T!kO;Ptu zPd05mK7NC5g@nF=^oit-X=36cQUu=910jTE5F0%@CF@mBJx(lC%xBl>>DA`td2x^a z^1);5|GX>te>J+6TkqZf-=*sQ|Cg%&=cVe|iY(PXrHY|2TRcJ+b(^Zkwv=};-Nmj! zc%Vap36JkIhq*8G#(Sh{Q@ki}BiP2=ZIRq2OlV06--LA-vhQKU=r54=Ew@(tH3st= z8wPHYvz+zYcHR5g?936+MmtBF1=s}F71WV)qe(pzTifmBM<>WsiDvDsH=@>0Nv6;N z`!8E4I%C^&ts!0jm{YxgLKSz)caRo!{9F)x6?i260F6GX6=d$#q*35XpBdlb$!A%d zJ+6M~eTnev#bM{}e)e*6z1obTPv3)K=IYR>q12YKf!T{0IdVuu!uy5iCGf=g!CwQ^ zXx8WbyUJHJ@_gf4zjj^X_MP@H{sw}0DC4f-Ci`~z(Y@;1Nh>7AF_{5n%QZ8pd{Nxc z#Pxx5q}j{Y^}~*&PTBJQ&bCl*MF}TML*ovpp$Gn))~=gLP`hE1*hrZ+^No~JMXzxY zH^1HGL;0rl%2o51>o$j_g3Fl9qBR#jL8NzW?A<)pVV7l5)0hy};&p;ebF;_JsHnls zDE>l*n5vS}{>{12upJ~}6?RAgzm+Iyv9UbAxeZ_s75?3t*y#V;v~By#+uL-G+20p3 z0$TXrMcsIo?t7YxAi17>I*yqAD+8+u2dhwQq-rV03BZnjnNrm&Xg5mhu2Q@jM)CKJxda`w+`xj+I7ja3g~$ zb8z9W^yit~LQOnjVan~s-%%ctGMBND;|edxWiBds2y8&Q>89JvaA|(ON5K}K=gYo6 zm+3~Zy>b1ici$vM=77F5TB6t(=SsF)lJYn%Ofipvtf!mdU+V0Cy!aUU@c!#`*^0k= z3d6*1o_jK3G*VvFmuh)(39Kp@MRY~JLKG2xK+sg&#$A5Jc?EbG$I^oo53D4{R9St< zlKmvTr^~k?ovWIAw}ri$UA^e7x9K|0h_z0GQD6^w_ z`KvSj~ zQsGHjFOLRNegCneS_;$W@#BKNWL zT(6bLnIP}gaZFsrBq_k5y#p82cI6aS6uNgn;F;LdY#|d@Q8!^Ke+Z?Xew0~==O)NF zb=xpQSYHlo)=IKN0Wb7LttNgH|FGn5a&}o5$j3WX7#qsXx)tD`BLsGD2Bi|Fd|Q`8 zA%XX;Ftz~^`s8W1<7g2Zq&c`$GOn-`XMD7SWnwh=DD?G2!`+sX3vkoyT$*-xK@RAftm< zi>=3z_4C`FEp_hcv9~poDl%3gC65*SUe7B2r#y{lEK!nJD&*r!NQMfv%A>u-eOT8dW@~0{A zYsv>65k-IS>s4$=-4FcM-<_mga(nO|OAGrQDL$)SRoas65ZF2T^xJ!h?lidhFv=nB zXD&m5|B)Ji3AkAYBlJ@Tqh)*0=oV+ zl*nsIa{a;OR<91JdT?cbKDT>MpW&}#_*XpCD?*}Y|K}>|KRT2i&+dH;B4FhGhmKjh zkS}F-#k^p2x|Ze5>-k&9derkf;jc)BA=^#vUbzRB6;BysYU_k5zJw=taYC~7Z@5qth&+H=nW zN#so$E&s}Ow;$`Ou@mp=wfT2<2|?-fCKvm>T6b|bd2c7%8N_&}g-8NsY^HVj7qf2) zlUYOV2LnMGv5mdLa*f-!pcbI#?uxsF!0W~4A1=8AZ_9k_J&s0q;InOccz$mt*1l7$ z>HF+u7i7Bsyh+aTIaPa<34PS^6K<{ausb>E_Cq%uiqAfgZT3Kn+85#;LA>hV%=LEyl$tcSJ z47_l+h7whD`zc%o?YvzvvyF05)3FAk7lanGbC8e0F=4#g+Wm&>JjIf6cG-(bn33en%HAHJKz2-GglrS>8g=!PrS%(L zqSnW4c9Ffv8dg*GE!p~4Yul2z;bukqIeQv!jwtqH#lNd=uVt zE?n8rL)LOV)9pAXT3nD@)AV!HXwNGincMH%G!OT+`oy=%1s%(oghCpguJnlxtXCy7 zRjx=cx()1;9lERx1(J@JcQ*dI8L$peoBvg=^W{`a$@FkF`f_9P-JpYt@?T8GArEv~ z7e8<-dF;?E{Ss_8>FERC5W>tmCtG)2tvx*Y=8E;LL&t6yp``sQW30$z}MCW20Pss0dHCl0}{3V>?e6Y40OM7I19hg4%UXXF6Kn z&-?(hYa$uP!&=`ekHp-|Sp`4@J}b$0DWv{ftEmo@RdX6i48j4hH`K@rVu+GB&5SwB z_~~ntoRZI*0RK_PLgo5DJ$UfnN*UARdmmdvo-j%W)ql@!|J&xh_@3Q$kNA;5bvGe> zdn~I&26F3on zqoA`hSH$}l9KU~@p`*ih5()%fu&9)X*wK;{)mfSK`-w^cfR|vs&+#`oV7bJC4Wwfd z?>ewC$MSPlMS`7}&QGK7&%GxtZb;mAMx$8#@s(zr_sV-hpEU3D)d917w4VI-brW#U z8!@;ob-PQworHf39h83a+VOa6*-r4KzBr%DC1O(NA@!G6>r0{cCsTC0Nmzg%OHXz5 z+`hLmPkZVJcf#HOf)*HqI(jS?z>{1_FFa|*-RFaEZ$40&G~#rsy8r9}(fXIBtk+O@yQw+QWAjLFttH6T3ScW5Ed1q?Xmh8?AkYkQsgpy3(T|)33oUR zBx{3>ODj4aQY7R-ciEz)N((7VN0Kp?RU4EOm^$wUYfCMyPH*~_wQPA*TFeerF03Mi zN~`rABS*Ra#ett22fLC@82`P|81qQ&rhvP4#m~pK|?W5$GYct3H^!_-D_D zw{owN8g}Zd!#$LLStR_Dn6c{!#VrC?)OJGn`Xm--Hqc0vA`M(?H`3xZtui^B2a-`1oci9fUUDryRc($Hg-XLqzjWVI@OTkm(OYg|`=_71oOPkg@SayzE@%fCF z3-=731shN1Q2Oo}@fv{c^#ucNr+#1PZ&BS@WA352*1ycqA07zc2aUL%ubqBQ=LFirwv4d*1CA@JyZ}g**0%3D;bnS ziv!Soe{X!t0Qwv@monAvWzuIk>&$S8(S^4R7yI?*GLS`Y@{mRx1evANj8u}fQ=@p^ zNI5+pmA~lZ4td7wQ)CuC)zSR>NHx}{h}fU`r_?)MPX9yEECzfz21?R7Zi5S z?K?bY|KhxRa&@vw6WH>GY@>;aV4y94%DW;yidLz6Ef9=e0 zt*$nJc-bV$e}ZSjSQQOhltVhq$7>#zxOc+?AI#+-JBB_ z+X+}*DU>I|D$=(U3q&S+2HhG@GJZr^mSAE1D?<47UFZ`=dE&?M%l{^X9(O_*LM`Zp z_v3G5Cy(|6NO^W&BB|N8bh%Nc?sz=VPO&GhqQd923?vl@0??JN6nzW5OTK2@df=ZF|qvuXB6e9}`6=3Aj^q-Wk9yz9Nho2CRAytZaTArg#C*VA^^ z4Z)eEVskSqHsk(scU-szE1e9^w-X!D-t3#f#hzG3Eqq)KNp0uYW$ZH^(i=lJ3)%)g zTi`=&irXRSS#r^lrQxQ)-^K3UR$tKrv2HE+LcHHmA87%7e4_z z+^Bs0g~2ZZbUz3t`+qr=p$`hg4_$Pm)Z3yB$(JM73!C~xz8sp+flVCIgb*T$Z0LFY zJgR&6@v_$UVE1JR(~Rz--sGjgY7A(2gFzq9YjQ5`J+}5_e1_v={R9Sy%N!MP?wUL$ zF+GahL?1f}_2fs~=Zr~{V%q>k^GX0pR;g6ZIGv=0A}<|A(!-S8zbp)fOAUsjGCgBt zS&|b7DVMECSn$V3z&73mR*Xv&LD%l^h)D-iC>#N$vV9hp|2hRPd%*uP2Ze zkJ`GjoQ7W<8Q)C&Tpe1cB?M4;N8-SBbjYxENr#i;w7o@vT_;bv=Y0d3Pqi_e6>S+i zVN;#X^BkPfQ%DSNXHpNReXbxK8*u2p2JY)H9KJWz7L{1kd4r;xJCs$5bm^H6B&J&DosIzdAi~?;frEpBC#w(7n6yjY7viF={&LJ@Nz-=}$}w7~nRKnSAmi z{+1xQDvNJ00iKxto~q4v>EbvCc=E)|-*Z?jNkP_k*tamn+*-|@(fqL@;*3-vnxsf4 z<2l-J?^g|{d<9Q*4!|avWu}^Qvc;}Qo5>)}eS4(e#sLca;-!Tpt}vEA{#EOd)IOx1 z$F$QYm>oKE@x!d{BiCfH?M3B6w+X-*d%xkwT5zb04fl=f=~x~{rE1}`VD0X-4mhp4 zgsN_Mro#7k>6C$q!?I%+mV4Bj2B*(?X`y~T23~!A<0a1RwDa|DiF1*+QhT(z*Bg68 z!*FIg&1TSv`tn~!Z%#!|d(SF*V|#@C$8LOE1ycQ?!{=mjH-usEPyTEvRNe#(LseI{B80h7i+aeWI@Q5FVsSwW;T@NC&r9II3-_Efr<0Dx|x zUE*>(bq)rcPm&kr_ntI2gHk3bD?7#=ma9?u!MYHWLkTVd2Np1sBeSNL` zevWB8m5t#hboZd?9}A!lo7Mg$YqC7ME%ezxh|T|#M?-@3Sg!I9Ed0*~7)Pc*6r|qt z@b3VHwAX**7w&j807q+LTo;z%99dZD0|!mCMyz7yu`OjHW~_)b*K}TFjD4~U9})5J zYJ@|xLca&26jr-GQ)l*9b;gzU{#=vQ?o5Y*&Y^yb<4wZDbnPEH-z@N-D}E*}Uukxy zlXBy@q+d<>#POS}n8InZ5y577i^uyKQi=k^h|lx5z8@^s*obbfDYKdpv|ClC)H;Wb zGq0}P+*CQ3uOtVyB{xww^luEZGy?a(yZ%If{{!I7K%E{4H?#)QskD5)JlRrvl83y5 zNVXofb=?hC`YBvpoa`EP`+fQS`yMtqP!EfDZ1LSA(!!+xdO-J5AiMD6WeFl>t3N!N z!sQTZw=H@fI?_#pu*b(>qhMku0jls_ni_`i0p9|8mlYFP#)#YbZqrDmaVth!UW>4) zn110}GmGX+tL%u;<$AgVB_fIx2W6}+?KrAbS*BPZbQ%z=CC)|+mT3%I4@Ng%WZPJK zdE_QMwQxtlT_zx#86F$xO{94pu7D++CeejB}gbaL_T4ZMzRb((34l3N; z2hiOP`NgOTTO8Sh20p@bdh-&HKO2iB>HuTB3ps-wu*G1@4 ziFA*8x%Z?X!X~!Ej5R6G>eZt!jxJJT*_|HeT7DwL$%>Ds*IU->&PYbW01|9Q`s$=w zU=xrVWDI^>@d%Y{A;-oXCs+AlB2~L02=GaH0FjUmoxq_%nqEG(%(P>_L}o-i#7&Cv z|5ih(qXnRx%z3B0ZUu_t4JHpR0gG&Cz>sJ*wR9rN&1mtPNj6yCM$i~q8^x~Sben_q z3t~}jYMoN#PC#mdtU3_LEm4^XQ@3kM_8iOjL2?BTZyR}R8`69Sy027|PFs&1k`JS; zowlB(t(*6{S_)m3cipSeNVX|0{~3>hmhLU29yB#LK^SWACAY>u|2%k1A99d0WuM)E z?%w%|!eIfaK4OeYNyq!W`@=9)ZQ@6JAj2j@XM#jjS=$ruZl1!*`){1ODiA)$<-d8) zmpeJ$>Xw%>bWt1jm|$#A^6ST=l7~b&CY&^0QK6jsr80G2`zkz5ukKaiqj9YjrxW8h z)+u}JGE`&;T%NdeQX-jp`9=N=X*9Z3Flk-24}i2YAYA<{HE_8Dgb%%{-xi0gC}mZ0 zpUeyPIZiZ_1y=iApU%BxfVyRR3$`$IMAX?CItA+(B9=dhw4gTtyxjH%(5n8+El6^y z`r7|(PU7E<&rkOV*nuey|5Qnaju28pi@ENKyT9^79w%a)KPpKlr>`0QClvNb&+zWA z%&drb?l?2o!)GazAr^?s|M;iLaJH;BEjXnbJ$g^UOguy6HM<%{*Ha%KQL{S`Z`f8l zCm(l*DaRea)x4XGn~AoauhpW`InZl#JNX4f*S&mS<(h%@IGwnBu`(z=K?&&b!=x>g z@F~)k%xSF##@7e(p)lDPf(pNNyQcUFY{^xC6M*6?Ovh7IhW4T;YL&Vi3`WmBr!qs! zz1^j>d|~BUlPck{N}oxDC#C@Yfp56evwvm|qIFcfee+N1TI+5@^U^D>dI}et6TYOh z*m@kjr=sOQBog!4-EDXTnlbb}JkpXI%k)R#3%=0spSL82JY;9i3V6btXk_wKGK|jm zZ4%k=CsPw4B10Vg!bMNo5Ua$nqijvnU;; z-RG*W54wPHlpCzH35*BtnS2yGb(l2e4@dzY32IsAl0M_00CqsrvlV!JurN?tL`fKw z@?1F>mP(6&Y$(|8bZn#>H}*%Co@eR;#!7yxpgOJr2%#pLybj#QG)2Xf+*qg-xns1Rj2`~X6;Q-2T|4sRFz)+hntii2JG?CJH&)baC2dREk5nRc zHmkM=QWO>KlO|g~+NOJ1Ho6c_K&|#`c@K08g8_>poW5Xgs`mxshEw$JdficfOKYt| z2Q}=`%zzLFCq=IWStNKk10(->gsk&3-%x+8oW30|-+n=&NbDomF?E&CF2l@lN{4an zBHgs95-gBgQj|c-_5^rF#I4Wf3t4WH5l1%*UEtcc=CWbe#oD4pGw1QA7-4UBQs_a%RfE;z)s&^Nr(x>Rph4K4~Z2pS4)Hpy1KT?xZh-PMYLn@c%p{dYal@Kn2GQXkgfyoK~E6+^>&;u;1tdAZYc`)BH&rlK|UL#=Coh0D_ zy+er|3%x4U4ochA#CJ+ViGBpW5=@iOoe(aSeFrnq?-9zCdc_Q0jaDp~GIo4J3TM<3 zJr**L=A_(a1j{9)WP_E&-I?_GxF}W=HKm2Ak|8zb02LJi*|dPI=xK8J<5cvDyR}-oC5!@3Hc>vFhRZvc<9=oX#Z6ifo%7V-`Ia6n@QyZ+{dLYr{lCc7)7koL~f_4Au6i4^RQhM-H4hys^ z{k^uxjvV4&D9TF5S49&S6YrD zsVgDSi6)zK!y5zlA6aeLz2bvZp5NE|VN${PV!wXwI!PJ8qnZoP_ER!$53dQt4~8?> z`ZzRgrq?#k9EQKSKh+nLyp;bmyE&UtetScZQ9uUW{uH{XaX4OJsCSZI6CW_klcHtQ z`H+QPheV%@N|%DSZdniC&4T2kMUu2>c+nl(%!A!Y$TZTn;xS_g?_gMxy+EgxVT_=4 zJ7YA>jnHz8B!jGZyw}6pY26G8|?5!!7`%NNg(s{nyU1oowT_dr&^&9}-ZQdY7 z=#gqMr&3z2*b z>>&S7ty8SFh7^rU`QE5PbO?>#x~d~flC^Q6z7ypX1VziT9o^X?_MRwZf#flVdz|#y zPF#_x%&u&q_Gy;Rm%%*th+28AV(Hcv0Ea6zZIP};Idi1GNr(Jysxke6brx_{&j4w% zLNr+%Jnm|JP>Cj)%y-zWG;YtYc`6@odskb(%c+Q!-jdP-xi`|E8 zAXysh+@Cq$=j_&VaDCF>fN!^vBTWZ_jQm%DmjBdXkWog-64HMR$K}!fQxD06)3I6i zlmDrQnACWw5$bpH&S0W%KCONy?^uwQF}>#nDoJlXY2*E>+EUFV6C~pAtzI5UPyvn>UW3-Y$hZyRORW}D z5Z2k%#KuxfkUy>XW3r8vc6WEfV9t|@@t(woqP25;&cFd_VU`U}k@C&BWGXT)F2Ne@ z2|K_S@tdQHosw$NnV1X%F8L`}@2+e7H}yY4BO}Sg4~Pq$R{KTGnlGq5UA7z1I_~w& z$8!611GjGQX3{syN0Lg`d49Jd`h}d+s~>*f@R?oOZqH6O^Iq@mdR>Mlf2{vNW(>Lr z&ZqOQ2~S+||2F+0OLJquH9cq=VrgPeZbAMr#NSZ}WVa+%s0($u&rBDVJ)F$oNUkJH z3x@V=W%)f3m>jpjJvgTdJSZVXxbn3m<(f!2=`guS?1ZHxWC>3(!43&8bL}-GFY{nK zY)R`*2Do~eiALIpHL!k82pA!ZuwaH8;de2cL2D5f>5m6JnN#g2wgD+#BW&{;kFY2U zvrJ}iHdAkCb~ZzalUX6rAtDj1IV1vID;cKxJC-N~ehbqa3L2c{(A*GtlY&SuN`%hs zYjoodvbs^^Ik4iOW2?B1Bl1J+}yLlr4V?nlHc>gd$J!Fk**N+ROifX2D0s$3PRvme>!-_xxbZoJ-W@4!wc z9#t?Hcr}5v=5lTIz}`NcG#Py|J!SbwjBMr}rWr8-dcw>(&MM}Ks@sgK`T7TI17%eBZIkD^OwnC_F8=kMvJIH+G=UZMG6U3Xl<+gey!=Ml;2 z%=v8NI&oybl0E$Xi0kV(T8U72fewou7@6PWtI8g>`8po^{qhF3%6^HnnBL6pQh zV?}r+%q3wpMbafktzP&qDvPJ9L~=*gM6{V_>Kull=CizZvw@bOPQ)B>Wm1jqI2*1w zDaE>9pnpA~1&(FSr@N9o5s32OUMN=J_{}6*^U5+pg`bRT_VmcC%^KiO@MbjEstco5 z1Z_^u+pMV5BOCOMcZV!C(oOgYf97)N0dhsSm0Y=6uKTHos?bnXIV3$U(0MCA$-dn; z+jc7&!d;c^b|fi-HSR?#HgvEGsCEA>&ZM#Tb3RQBVf6WUH~BPl!T%a(%gC{vf}Hk! zmtMh=+XKJTr2t*u}bGdpGTYQlV6KB$x!W8EdL?Jwc9cg6{$-@08H}<;Wg9u0v!fGC%|@Myr6J6Ng_;6I6qX|?QWn`<*XYV zZ|H|WT8KpGEhJk^gj%Euso}gxO9R{iTgj7zHw|qTog)RDq z#g*zzW+fZV6PxMb+Tk|J%`KO^;5ve|j2tIQDscH@_P(XaUhX^gxxYXYxmr^yg^6~x znm3KnNAMNc$;XX+zqY716`0+B3pmhPQ}U+F5#<#uDYF@mjM=OWexg3t@9#ZU;Zll)j6h*ppWdq06X>075#*0tg@_bcA47seKtl z%+YV=fJX&C?iUWwb?y?ZvgLIWZKFCd>cS}guzy)Jw*L`J$IHcDZKNwDL2B}HdDO9# zldY4217iREc>dpyeD{COX#dA_(LY_Qe@{tT|J`KA+>^w*kgd#dw1lmMlqni+LGBiht=K;g}T!DCXbVy`M$a`qdfn+ldf1_zT6h}oWqbB#$i?# zTjpm+d1*G(^ML2kci{B8N`X|7Vd)#yJlVh)2{PggMD^F#o=75AlV`wKilTl`rupv-^SOcLxW0hV@iQ_hZ}>S6@Ne7#H-!-br7FB zP_%yMv~wKh{`RWU^HQmdC5qes3q^VRDdf9qV>wF6x#}QBM w47cP{5+q>1rvQxqZF(frPFb2&*;yV81BE9~=Ldmke{JO@YFnfKU|2=}2ZoM- zioqCv#uDI#hcT-IUIM{+fe;pBz>owC$@^I1#DuIic|1Pg5eMRY@8Q<_oqMaMTZ_p{ z{>{uMbyamu_r2$y<#&GP+|rn)X$kGE8rQB~yY|vI%wF_`uWH(^Z{TXzg=;QYt2MQI zasF|fS2kTTI{wBd@5yNzyAJ2u_8i)MxQjQwplSR&xb_Eo-h8a8_39@y&3G%`7uW8- z`S9t}_+)L@2XSs+d+@~mA71?G3Qe=_*R-uayKdj^y+8T1wjA&M4F8(f;ez=;bQ7P| zhx5Mc4jnt*cVh{k$G)m*dhFm$dv^cx_kJ{q&%Ybz=Aqrk53_aJJ$Qc|?yugs`_R6R zf6@Purfolt_n$v})6K_z@vhxdnzmyN&bMhaSNwZz=g6sD{?cD-9{&lhXkS14xA@NR zb?fP-ex)ej)Yf#miXZ%qD4cF;+x2hLseYyWBsz?K1YKde_I6FkOZ1ma-nAmUh3VgB zztRl+^?mv?xOTsKWq+@Y;qUNOrW4)?angD8vw8modvRRtTg9uV7irruw&!t9bHR@q zk$R1e)jMbX|99Fqwd=K4@lXD;f#|5?Rbzg~*{isl{^t5K{}ShKJL4{OPx!eV@2D$} zoO9*%?z~>>y!S5ocaO+xk7(DN=Tmk^*TT7MJ!{7Q6;Gi#q&-?!s2`ug8EHxv^zuFO zHHj-R?N04?w8ypI(>|+xUi*snC)#(lzta9y`%T{}*ei4m?|wqQ`$u^98*}fjz`OeC z+coXo;t? z=nWTd+Pr1!C6`{d?eaHXvHi-ccI@1B_3mr-?A^Ej+UpKnf5X8;H{Nvk$kCgRz3I(w zIey}nTW`DljyvCaSE)#%Ip0r(F81JGl@9Qe*0gdr9rV(F;ZJ*t(Ur4alV_cGoCfMx z`pb^X=RX|R_G`~*zhoJfP&o(fesE726v7XzZu)?eR~=|4(8=;)98Q^Vj+x^;^kx$$OG71Z#s| zq-Ii2rrq?h^k>t*%3PQEM%K*k%zifea&9(vNA6eo75N_&78RZ>{Gzy~c&d~v?JqrB zdZj#B-dTRU{FAOk*P^axyRYhgwz9eMot|dTKUFtWf4_IA_uk&`)V9~YSZ~(9*SELt zx&BrCe=txOxNhJ_gN?ycgFl?NX5Jn1em4J_`EUNO{)>fY+TY>7Khu6rO4;9>sIYu4 zUtt;3GOYxw*9HgZcXE1`F-yE*WnlZ3U`$xPom{!uacqw>#dUw>{r@ z&`7}O=sUiN|9;H2l4hry6XUt|cbNE!5q%lHX+)oFPB(uk_Fk5866#A5Znfq(Npoy6 zl{8J;W1H!#6Hf8PBF15G9t4+MY$bz5Dch6Zb3IIYwf-^?gvOefMn2cWx*4Wo`nsHw zspiv!NjI0XWo%TZHwOo%Ca0Ty(@pk!X`k;f9HHyn5)r|B7Yzun8n?!1%d ziX~rXS<}^D;;z2QaN6R~)AHlhFA zupyII*#qoz7%MCsW0f+=Wz`^QMED(H7!?N9t4|Fl?1W`B7`J1A>$$eWS%Vp#r@y2m z?|SyHg=5Ec#)WOW;@3&xyS9=ETcxjNzoWr%M6%Ce&h=3?!ls)K@~?hqft9k|eBSul zb0U{=T=p@>bSsrzfQ4q(U?z``!FaDfeOk(P2q(c3)*dP?-$E87v(`d3wUj|srkhw` z{C2Y?j18VT#dL1PQm*F&=Ew*;b&~TWCK1Fe&PPYsV{FxfZ|Q}|8B-}?Jn zOX~OS zUIz-N;|A9kuN|}vsb^{ookN=c{x8W9lTk1>aQdU{oj`DwTDKy`zy?PfjZyX^ed%l8 zc=rc5U%gm(mIk*GT%2E8ix`>nMW@=Jdl+@Jx)Izx&=4377 zvx)H~Z15N2+H1{XP_h}bOF`DSm2ob*f*y~hQ`a9zr*tEp88JC$w;I`GneHlQ{&DAy z9Xq$?dwU1**}YQ5%|y0tUSZa=34^iLRfZQ!W|`hCmM>qig2Oh_1=h+E{yXlPS`e>1KLhs*zwm%a2b?Hj zibgp|Ir;ubA+tI92>H%ZMvjJUvh1X1=s%)p>T^C| znTG6!HOIq9L90G--V=%+r1$k<ZiD84{{KJ~#y(VYiF-i6EB?#29|gIx-%@kZcpG z+K5EOe!(o)>S3(X-A$Uo%e69RM~*OFs)q;i3gfO5%r4R277D>L^?SKzidJ>&mMwto zm`mtOrnIY|@#DD(D149fBp99YU!mTk*QC1; z4PRm0;2-|Tdv7V*X=o9*oTO;&4BdilJo+fTBjdGgdX_8Lhq-6Rf6eMbIy1|6yLtkO z8GVQ=c-0-#6~b8*z;U#F!b)u$$qF$F0>W(Q7e@%G1Qn#NL*JEikW-gyyqt|P91wI+ zt{E~Nz+Ge-8T?&^ji;J;J3qq4YI+7Al+RH}#)l8Eb@f_*Mle4m;^{=mbX~otS}KWR z#+Yde%kA3SC*MvRupY>&T1^*C?!iWc%MbCwLa&ze!~q=^$8^DR>=UfU&Fc-5J&sq~ zkMT;gz-^(wWCW=}ioOIT#O&vRE#=P!CO1@n+U`BqDH>dl@<5s!H zsXCRC{h~1#7du6a|G@MTX331Ze1w(w8g4%C#9J@xtA)vgCzc)@wF?dMKXdVuywBT| z{b1HTtU;5PqVt)2QC1U4Pf9#LSg+ObrmttA{T0@Os0Ynku1`(EC6BQGlwVqA^;wOI z$WHgi0plP&eP~fkR2p`#jmw7!2Ql3dTkBT$Hj(gk)6j!O18iVX$`Ha&3Sm?i74+P6 z)%@Up*kPFiM)$>2nY^{i0_K|C92f&8W4QVOCy~a*OwxGsxZQoFt_xn=G+it;Hx~^g zA-XZVxmGNSo{L8y-`DY0ukXd6*Wo&hX&beD6zfR(`5dAEDWw#)G;Vn=y*z0xP%6To zPRieQ^k;{FLG@V`c1{R*(6W6O7Kj;Utn5=+7%Z?=s#>%V=Hc3tOZwbzS>x*v-I$TF zSrs=+n1TQRKksJo20ZQ@@wrp$Yu|IVSx#|LZgn8k( z!%i9nS3LF~mK+pz&S$QVyuU<&q?a)5OgjQ(W%wt7${Q9E_>mB;(VUdPa}uTw1(wog zKehXeAeRn!Cg=FJzUZwg3|zdaxA*9dycJL81Hz`sbUGi{QZg1WcK9$nWHFH{Lye7MmG1Zl5-=U=H{E15i!Q~r_Pka{`q0Cs8~B|K zU7Rli9Filr_*w^slgL-jji$3q0wiGSz;{f(ex1HPSFT^DX0>j8gz3zU z8`MlTY`pR+<`A~yj_HWoZ_{tRBV+oO4TtpT2cZe2dP(fREE8f*0Ax&|7qfBQ4?Zd~ z5}@ng(KPm9?1O{ajDjkimL1i%C0WwGkSK;)ePu_Qh-yMqEd1#WL5@ZL$%id zUN;>#sjI7k6@bKDBW-jGmS@7S-FHfnyR&YXjUf?p^<5A#l0nBYTkqol`ADYRipdTL zOwo*Tk_TiiF$j52ErD=-g(}I?$nCX3rUF=_`VBw(8He$wGmNL>F|TZ~OlG>7$uO&o zh+tS*Ec1Q)_wVBXpWMzEJ8lKJLUI4N{Odu5j>whoDl0W9ceRfY{(on5WMp(MOG!*Dn^_)Ej)Ig0Cm}GJn#4i9#MzP= zm{=|_W|p*%bWxHvF*&8IL&qoBUhB`NrY1XV;tH~L=_Ai47E-b~y5MyzV`7>lf@Q_8 zM8vaU%GP8TM*@k=9Y)DwZNtAO#RApAyaCxB_T2)%eg1ksX-LLEZ9PGsX=| zZ`~U+ym%^Za+3k~9gi7S>)m2%Bo016iYTG}j)al>eG-)&-x`x2O7zHXEGU>4gU3wI zOL)B1jr5nXxM_N^I6}og#&xk(*{dDjLW3bbhdYo6(gCnH5e|G1(Q=2fm~p8LSa`{- zB=p=kIS@(6 zOvFdakMaY&+hJ_pJbiMC8P4c9>+dHpZp>d$EHYhxfTC-5C||Va&lj%6uhkD`i(r66 zsTLR6jIK}WeqYQrEK#j20qB;I)ZS#oU9o--Qa5AXSkSBnS2Cm9D0eLcbzJIp)2;V6 zt39P|2eCezV^o`Ym91)XK1ww(Rm%)ns8OUJp)2kYit_;n!PqX{3^JLF1zkn*BNJjc zSVOpuXnj#6ZP!5}`1s=>ppfBEJbM-Y{TQ)eL1ep`g!~GLyt#}Ca8TrDmr)QVx5qx^ zdPQ3o=3y>5J&zwYh3-|eN&T<^cMC^r9M+|wSp_o{bKWD88S^_PaN2w9Sjy}Hg65~} z{)Th#2Di~~y_*vyhp~JU{}IoH8XCfns~x zU^w*+LtKsA7egCrE?u(`JZY@gYnu@p9@H))xv7LOn-8^{9KW8S@hka3cvd#b^s#b- z(XnI`XW1k)UFrEWECzsL3PRp!*q$8v^dj9)rSeGMPo46(VR*%quP>S=Q0RD;QHHiI zTEx8sOv-h9aq5)t9oL6ld3@0##vD>vn$Y_7qYZ|vy_^C861#<+fV;@Kd4U9fw6T7@ z$T|iyyKq~hp4Of2TH1^FN=@4_QA&*;3x2 zfE@8}=W*ue#X97zcj!oArFY*Dg0&6Hlgc|M;m{+9w(g?90YW>IKR(kJgISa8v2-i6 zQm^Qp1Tryt=Em8;PFdhb%oy83E;1yLLDB{UrXa@{lJ7_dSP^{bW5kE2n^ooObE3$+`0!n};u;paG{XBLR3{>9qZ<)MLeiqk^Q?(aLB< zLLz_BK)rZDGG;nX>psKpN)~Jcgg2S6Yz_iBlh$9m%P#3G)8p&<9S%OBgDa_M101#1y$`s~? z_PbBVx&{%+jY7I)J@_Dd;&BBBUwDC8xkAmp|NbYRiiXDRg%$JXRxMA?k2o($bv^Nf z*^|i=38sb=uKybN+>K|B3G@PqDyoUdm6Il{Pk=_iB95>+g@q_ss|@XYgDnY$xI_84 zT-;B7QbE+Go|H3qz$_wP50a{0p)ZO0}B z*x=2btP#M4k!qC04#aa3IpzoUL|=&cP1F3;`V)Xx0#<$-2p&@^`i^cY^`^d^&pS;Iu;0Wod(Uc3;P9dNzV4T71;v0b5^16(E2sWN}$18|O( zBi(P?En1GD-v_Yy+PBuP2eClw3%*h2Xe2wBOSpm^O9>@iD#;is;zb3C&nCOTNu~}=m7m1=4M(pIi+3ohRG#m~N+NP@+opp* zH62~np(H!n#>FpdqtL?T(#~=u$GIe_y})z+k$~1jScr;hCDCiU@QE5+!`pw?xYou+-U6o#43Y4ECc=7kt0XGi+^YM@&y#-(@mkwM^fGG zg0HHMb|h`H%$Qqx8TZ0UmE{&uq6P3a9j|1};f4rtoYVAxDnK3 z#%=2bO~N}=)Voqur+efl3`xTR4CILvBKIjD~P5)HMEDr#?2~XZ{(sUq-!}u*Uer zjO5@X?{* z|Aw?@m~&_yA^sDc`90*&kaC$CkO|a#x#>ANJL(_@L(Yczdrs?=?#5K|t{W&_ZfQM@ z7oC|Lc{~Io*o%lgupTrIKnCWE4A4X-=eCh__@DlXaDe&a5Eu!kU9(DS>ofp4l7bwX zWEBVzg&9^9;mKoCT4I?H)9W=oyyCdBJX;pNK&yjrUpS));+-&AFPW~wmiT!(Aa=pc zf}j#qyEPLrWGe+!+Rki>xVfk9*f!>nPaCkC*J+99nBSGeG%&Tygjb?j&^$*Z>Xb7k zoI<(l5~v7n3TxJ&BbHMljgSgFQwxhuYU!|6GW@5f>%>hEuS-Itzd$DRF?-RV@1(#Q zSbfzIyJ!t|nYz(EXcz6_-af>Ab5+BdSz;70SDhQC>wsdnbY4z7sbw3C^neGlH{rS^ z=z(b`{M5orLGPJH4w<`^DP~ZjmdU#_==de)W@A?oyHnV z2N*U^y&I-v3*;AR<8OXsW@;u~j4x0Po&1)Pe@7NFUK} z#%sq-v(RN?LY1$%h(xWqh7EA7sA$piE!T7Nrr$&m*j%VOE*0Hu(NU~;SteqH5@15jE6H3%s0 zEb!v$bR>(L=$swJFLQ?z$$^H`bS@Zm5UT1!?kaa`eh{xXTz?zjlWz8x=UWBK_Y&`F3QGK`G7=DHVlOqmZFf~s)vR{e-!_(X=*0m}X+BqgX!jV3fW@F0K2?p>7PlM4gGG>u^4q===f^WCej?jW}* z1N$4E&E*OXNVv^;jxb{L{ARclOh@!}8P{IkmqJHis(;(HV4g~_r!Z-l%gC-`lrq7t{bMkHiz`LEHg|S6p+WF^vKe?|^@#|LP>L6MuLdVzNazcQggIf?M zZjmrrbt|!Z*;V1UuV2q>P;=5f{o&_0vFJo`*cMEzt(O;_t(T;ow44+y1eQWbzs}6<|^(&y}~*t0VZnSSw5{5ZSet0il@hx=*Njrew#PW)iU7O`7}mhV@JkI{j-M zmUPDkt*6a?@_FstVF_t2306Y#GkU}-?De{`NLP{Qz@?nqDCWb{pRYMf)*;#zh|Yd7 z;uv19QHwexDev(@o;1pNNI$_lMG8p9M6-}?P})CRjt>F2uj>o0QV`uNUaH9{33 z+u-Q!TS&Bws)){64rKQTd{+i}HS(^I|H~zz8no`R08VU*`juXb96}GqC$Guy!TuU; zY&PN?u|6y2+Xw843vnWeYj7{!Yov&3$rqlS1GR7YQmdfL9@q!NSUq&*jo+aDrK zL>x>iVWn2B31rQjO56GrPq^5+&|YiBEvvN-30oyHEu)cTC7{NjYb8ZwN{4jTBD04c z5}88Uwg63ApJf+u-;dQ2)Up%ik7q4%?&>3V-l_Yxl}c1lRe71Ue$4&(iJ0#4JMTEM ztD^-pT;jI-Xn8L zqdzm>$TxZzm8An(LN)7wBBHzUFv=}Yjp|&zt=!F$rPlN$pP5;@lv!zXA)>UwMn*wo zCIZh+0Dg=NV{y`L*W+y7z%RL^^;qj;Xg7eju^gYXE>>Q(3P2y|UPrkl;iQ6&=CveQ0N*)_ZWa)SL@Z*tDPfg@;WNm=;T`F{NUgK06W<+hBsHVlFK0%D?;+)&E-1X z(^jIMIi6^6fPHmA->?M-G~c?ArA2SA@|~+z1_9e(m1nz0;~aR=8M|k~%8k1Y|7scK zA*>nNC#{h&9W9&CJ=kZEK*nmtj7-+ZfCc4fCCgWu)~Sbs#S84EY}5;FbZBU~krIA> zGS+we0cUESxA5kLMq&qA(LRwEnUZzt6bBX+^XBWrBO)C{l(R_pctOg@bjuss>qouq zBif42^+Own4BvIqM49J}>at5gibbJ_a5^EpHlyc$!Ds4-)PN zvc#xq+##$0j8|DnJ_pCG3ds@Tpe0qYkfIK8(}RzElwrithy zZoLh?YdYJ_6WkaX^m?wlUEai#=+?K=i3Ea=nGm<$f~>anAs(Ph2q4p}R);G=921Ra zEXvh&5Pz*1kuAD<03xQqw%g@pG{VH&eQR^>Hw1Ivvext? zHk=WsUi&siMcyuo*P$X(g@R6AI+5W&s`mg8|4&0ph`LFHEucQ{(4t#Oh+?WuPNcV_fAm^wQk_HNlyqpEN7!DOThG7KI z2@;j*U&vaF${X?57`YU00(G}|g31bp6?0`hFOExzIA{i%4MJV1tebE>#&t#-ovy-5 zivy@PBI1@xl98MPQLX>g`Uw^^|B-vT2{ECS%kIACBe{G&&$9n8qxLaSQ2bHruZM<( zEQaZ3%Cd;|U?@cM;UQN2`BEFr1ZU{;9L74UH%^zE1K@22Mj=7^mF_n+2|s*xFC5y7 zE%x-&*h(baU?{c$EpqF*lgJDh!qlIBTDQ+>f^!qT&s#rWt-s)YGVUg=4BF#vzs-ON zXR>$;7R82mTK2%T@!-tddPyCs@UgSC$mby#l!l0nKv+;(&kkM6m69ejYEGRBJJ&{N z5W7Tn?G#`@=5)%d^k324n>E=LSJVa~wTcf-^_;lkL+|LGi-7ezK5*hhW7?I%ZTrG1 zjhFi1EG^q;V}HasZK^R>DtzHD9bnV>DrUX#g2Ohx@4rQ*!Ag(++P46$Wks;3lGK|l ztd_~xAI8|KHjlok{S6%mv`Vo;7J1TP1s4_Wx5}fw>ZHhb?8Iwb4|UEVKn)9Ga3!+NQzYOuCUAj+w1@F{KVJnz&xO zOAnXd(eFSPpxl$x#&30PA$@98%TQ`4<%a%*j!G~KXZ9eEY8c>v!J|ZV;A`-s_CQ@9 z%`Ylnz}Uc=oKpbqC{xQhQg7jE4R|)npWtt$V?|(-EjZ*0h=o+?QnWMV^Bk#tKEO7J znT@H98zJio!ip)r0MKto`#bd3hp|BX6i*JUGpS|OYD%}W$?HylfH|t3GA|GTA$b1l|vbK%Tq03a1;u*;A z>E?5MVjA48__Co}@xYDwG0}Qiq!Yy0P{HkAERm{%htPi|@?GdBi`J|R6obw}RWAV! z&A`)#zGG6l%Bc1v$uL+iGMWl&LUg0LY9*BBnnqhZCKsVU0tF3Bb8z4l{hBTL7yv5@ z5ZFMLnFPC9n`enFt8?+eu3qADd#ermzya`*pu$S#?kyQvvIeK{cjh(MNYWN`idb{O z#00v?JWGe4^;Qp?w|r(s1TpLg5Jn~sm&x7kTEkiEjMi$B7G`S<;(y7R%hsYq>#uNT z=Z#t&1P<%2G>n8}V1Y;$p?9lzK8Hiq>W|)>mENY_p5GpdLr;pwg*I zeOXCdigruBO}4-3Ccj+Aez=80hFeGj4$)SW0gm3Zu&*2mGByOpuulMNXSUpzC|-Hc z9qo-(z}Z2Lb_F}QoVk6HDoJj=NP1}M>jf$zD_6qe_y*)cxIdfp9P@f~5TgN4JkB%ph-DRdW4+Nem|S-OG(~JQVN&h&U##tFdyMw3qp8UT z7CBsVT5Ab8=3oa+xKUNJeE;gttIODE>(+fog|c0T57KwT#lNB`-yxJ!)G}{sZW7l!XjD?872DP?-bs ztTh{xy`?^{8=Nhg+R@7OtT;+ z0N2g5yPzP{Cx-;XDqP;Ga!_GVg3xs*`iP^}~PCkY?Sl*+qd zdlDuhofv4T23bVgCPuK5>I2YD{QqGESnn%B_2vc^DGAmD<0e zwp79Ds)uG$!p3W(7WDSqd#+vd$84iIly2Ka2_AveJ(d6k2JCE*$D&e#S_Jc2n+;<=0A+aBA0-lJ7)@X?_|2rCDG8G6-~a&nsH{t!u{r*1W^}aSUtB)D2Cp^apGK^)Cf?Z1?Qs^Ti@4u@{VdG9V zT*nhwG(E#(nyNpAJrx)}I4M~uMDU{>BawDQ9ctvuJBm3(DyTO7=QusOz_DPE6BE=E z3+*%>en>U{P2fkQGX~GyASy*Stnq}89-zDtW-T|>KM#Oyrkw)yibZ=Te(%$|(VI@B ze??;O&)f;4V*De}d74Y)zu=1Fjq70R=$f)tw`(Jmiz%8#m?~c}bZPd8^ z+Dtl$_5zT}k*|6cbQ}f90O5KCsm30_mNwHc;lg_7iQHSX)Qwo+gf2(>?x+Ey|CJz4` zO_FsO(j|C*8pk!TferAL+avj9NC}AgQm-_wl-k4+ zO3xYHorFuhFXj7iL*>54Jjc>eA+FEsD_0B#0t~zX8VzML3up-Jvo$Ie#47afrPK5n z1Q@oYMZp%zs|XtoZPUQv&gbI7**Uq)dEJ{{vicwX%z52gIQlm3E2G0{6P8+aILVQ#b{>jv zk!O%On_TgMK>!$^(USLE7trC8<7 z($&hB`05KR+svZPh`@UxYuL%fi-0}zDS5?YgGikyggNnUuRdXa-x;fWU3gXixJUwZ z62N2%d4wiB(g7KtV_bg);kXnY*?~(L+E4||j{LR8qkfdr(}@40+LHFp+cQ^AuAkah zBY-CwrlZ zrW@Vv7MtSL1$Nz@*K1&3A^JpJ6z*w5uKj;SuRyNzMkF<)(T0AxX*)(8zOOz6&`Sc- zw?RC^@Ge~<2r_Abj%dK$q?KA`R!6Mu+wI{Vu?8)XxL6eF^bJ>L5$I@RrD3y6*(FBT zcHEC-=ZylZuzIzDWCw>pBD&Ypk8M82rI+G?F8W4pNDNGJBMeM=!g+C%iYQ7#ua`Ic z=MfU7fr6l$!$wcR&X+cv4-lP`D4YinL9DMG0aZ+rv2(kQoF{FV13$klPiXrD>cVU) zW6EY!XlPbxL~15kLsCCFvFA6-j@=E68me?2utPeDQ2@;S!h;FQt;yS0wws ztayFFrcIL}GUfGGZ6{NVUhMWNt+nSR`Hiz(QAw^uh`ktfo{0Hkrd#W#mNQh!a zS0a;elg9No@HmtW#iz@^9e;%%HT_97y>w&*X6*bX1)51Kme1N5y4ut5qBr8JWKXeuTSTD&b}`czA%0MmRLq zWs)_3Lj96nZYR6vkIfsPSf_d)o>BW1udWiP+la6h- z6VsBO|KE6?iQGjGR!@OGam_X0@LZVO^k@Q5NZ83@2D`(Cx@!K48GEz`d2oA|Euyvl zB@h}MEkFLmQkX!>DY(E|k3MQ7Z1N4l%>^#@8duR!n1^FCMtwS#(?{>TNK>P&Vf@vsN*cWAV>BLHq2>(*iaBJFIEnGCH1b+@Mj zANtmq349;WeXI)Tj=7X{ZkLVLBVl+Necy>1*j5j$E9E9I#nueMZJfgy`ABYi`VH#W zaC-a3O!h`MPOKo-N^(|Z)jh84jG8F1gL7(9);=maC8K)h$SKuOrJB&T)~;2Bnq(4t z%!ThMsHC=t#s8&e3=q%k@z1GzXm+Bb8K+uo|9p5eDE944isQ z@9jcG4x%-Dzo*Krq?h%Q7VoJ7J;Cn-EAblAFRU7UOa84EwrB z^v9_ByL~&~aRnail`G}M*V!{79(V1W)EAZW&qlgWX6u3IwT>&}6Kl)L)QrpkS-b~a|&>N1O+8@DH zGfWO58+@61XFH$5BuSu#B_jp3fY0$m5F{o1)DkT*v1;248@Fg@n-qe6Qn)sv3JI@~))ThaLB_at=WwS)oBsh9RB8!rZgm=rLwt z3W}X;cY{!$yxV;$Cg3Ew^HWRs;wP|y-^NkBV;A zBC88GA#$s~;O*OE(B3ytk=?S5mr}CKrF*fw+r^9Ywg3{^F;DeSO&g>xYt& zi>>D}pCj@^p+h`RAu-$5u|!c6}!LBl#_&T{0W51 zu*24GuCTM|?s<4h)9jc(zu(BXLND5h$q7GvKnZSN<}~V5YSXr!{-64l`funNcj;h0 zGKBf;5{3k_^_$jfXwJQ__2w1`M|$e?r*XIXxn6rAJZ73;8^dEf6q)S|kGa;%o(hiz z?)i)G*wB*fH{r3V2|bUeBtV(*u|L2+b<8xItqhNKEygy7$6Q;*_Jzj+_k24%Hnb}H zVR&q6wjS43Ye$hK?beRr|Gioje836(e+jOW2xf45%iEzE%`dUb4)v|&7j+56g4b$FTJXJN3@%9bp)TV5BH%#X7$m1yN~VL zTfOE)^^)ChI=1iV&}GAyZo2&9UF%j}bkSAerAvm#hNp(d$A-tJ#+!>4jp2DD!($VZ zi>q%raO}G3+M8}Xw)Uo@*Y2y1jWnwBt~++@@XYAweq7y8S4VE%KXT)~WB9I35aCvc zMBB7_EB=3jl;Z(N?+{M*?LF`&yq<4*BefKfhjf` zxN_Df5QiXtPQM)kAqzO`M?T${MR%R`raJw)_P5$&8g{snp)f=HiM9ti_8zR)d$rq8 zeRzlVKIo&s^TSQpm906Nt9f{ia~xLW!%GL)p_N9JIg2MN=kcWFBA&He#?HNNbQtzv z7QI?ctHYP~gXI{6uFMCcwh%fy4DpU)o?{p}>Dv_aa2k5J7$RN*MrWBei<;gFEZizA z;2P}$EYgM0?e%yv4^I*xW6+xGnRYR~gLpF1K>!Dyt=+TTuS&+}aF5k?7wL`sDC-zT)^xgtDF zCP|_oN}@~>)!Omd{#Ewyh&WT91V}VWWd2bi_FqqE&mG}mOj)qBLP#?Nz#s_vc|toP zB2F1(7^cqu5JZBMAW;LtzXVBWcZ7#X(CTyL@ffcvm5DL|FcFDqyFJ252}T*2FhL|CLQuUdCX}c^lI@O& zFcPJYX`hJ@WeI=!TOOx_B-`x~kvA-QnSyC{jGbudU~`9XpT+7K#)t&E&+HfJm6#aSzGfd+)8Z;XL=f^1~<< z&M|EHI;Qk@roa(#pgc$cRlv{UC*D#&+N5onN)g41-2a3Z%H0+#pEvtlK{m_HAoa z;p`El4Aiiz_r6mvw!L5RS%P+CM=F0I2z=e`B0$X#4*!x(c-kHAjtuxz(>E9)o$eK- zA9`6e=Lwg{l@;oXEG5Z? zMBj(rHfyzdPIZ%Sy#zUBo4V zb>!6ySH0OUf75FOMWOWO&)tfzPv3cN}?OhzTUj_N4my$U3 z?i1&lQd2f3%2$lcD4kR9M6I!=Gqbn5WRmc9oXrSPGZVX(+{l)yksFi*y|vJDaGl{> z*|B29>=hMXNs`^+Zw*SqIco4*Hn~LMOc4~;+80UOqXv(OS~F2d9#%OiL9+1Kb4c-Z zqODk=*hl4t2uh;|kJiBXystGV7WW!82-#QTkf^s$n%?+QMuAM5JvqP{&)%q|U1?_L z=Zv^SW^Z?oF^#_~_*_hWzxjN67qH-*^L<5ndqqEHy5C9FyJ(|tI44(GhS}${1PpKM z%IFi>CqqeSAleJ{GQ26ReBcm3GIPZh~(vqXtWLc=Wz#K>* zL4lajJnGb!mwojs4_~~YC@sm^ii*=Pq(MP4Oq@{%CfPmRU%XfpSdxLo$e}$su%tQ` zmh@>2a{>hrl8iBIJRDU+34*^%S4fwj#bVuH@Ydc%9>~b zm>HvlT$Wz^A~j?^BC7m`sv48}SE;dwULMYDBGXFd>fE0{?9Q5Ur2e|H=guBgW`CAi gek-{CuT)*!ht^fc4 literal 0 HcmV?d00001 diff --git a/tests/auto/qmltest/image/tst_image.qml b/tests/auto/qmltest/image/tst_image.qml new file mode 100644 index 0000000..f6ad010 --- /dev/null +++ b/tests/auto/qmltest/image/tst_image.qml @@ -0,0 +1,216 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 + +Item { + id: top + + property string srcImage: "logo.png" + property bool canconnect + property bool checkfinished: false + + Component.onCompleted: { + var check = new XMLHttpRequest; + check.open("GET", "http://127.0.0.1:14445/logo.png"); + check.onreadystatechange = function() { + if (check.readyState == XMLHttpRequest.DONE) { + if (check.status == 404) { + top.canconnect = false; + } else { + top.canconnect = true; + } + top.checkfinished = true; + } + } + check.send(); + } + + Image { + id: noSource + source: "" + } + + Image { + id: clearSource + source: srcImage + } + + Image { + id: resized + source: srcImage + width: 300 + height: 300 + } + + Image { + id: smooth + source: srcImage + smooth: true + width: 300 + height: 300 + } + + Image { + id: tileModes1 + source: srcImage + width: 100 + height: 300 + fillMode: Image.Tile + } + + Image { + id: tileModes2 + source: srcImage + width: 300 + height: 150 + fillMode: Image.TileVertically + } + Image { + id: tileModes3 + source: srcImage + width: 300 + height: 150 + fillMode: Image.TileHorizontally + } + + TestCase { + name: "Image" + + function test_noSource() { + compare(noSource.source, "") + compare(noSource.width, 0) + compare(noSource.height, 0) + compare(noSource.fillMode, Image.Stretch) + } + + function test_imageSource_data() { + return [ + { + tag: "local", + source: "logo.png", + remote: false, + error: "" + }, + { + tag: "local not found", + source: "no-such-file.png", + remote: false, + error: "SUBinline:1:21: QML Image: Cannot open: SUBno-such-file.png" + }, + { + tag: "remote", + source: "http://127.0.0.1:14445/logo.png", + remote: true, + error: "" + } + ] + } + + function test_imageSource(row) { + var expectError = (row.error.length != 0) + if (expectError) { + var parentUrl = Qt.resolvedUrl(".") + ignoreWarning(row.error.replace(/SUB/g, parentUrl)) + } + + var img = Qt.createQmlObject('import QtQuick 2.0; Image { source: "'+row.source+'" }', top) + + if (row.remote) { + skip("Remote solution not yet complete") + tryCompare(img, "status", Image.Loading) + tryCompare(top, "checkfinished", true, 10000) + if (top.canconnect == false) + skip("Cannot access remote") + } + + if (!expectError) { + tryCompare(img, "status", Image.Ready, 10000) + compare(img.width, 59) + compare(img.height, 71) + compare(img.fillMode, Image.Stretch) + } else { + tryCompare(img, "status", Image.Error) + } + + img.destroy() + } + + function test_clearSource() { + compare(clearSource.source, Qt.resolvedUrl(srcImage)) + compare(clearSource.width, 59) + compare(clearSource.height, 71) + + srcImage = "" + compare(clearSource.source, "") + compare(clearSource.width, 0) + compare(clearSource.height, 0) + } + + function test_resized() { + compare(resized.width, 300) + compare(resized.height, 300) + compare(resized.fillMode, Image.Stretch) + } + + function test_smooth() { + compare(smooth.smooth, true) + compare(smooth.width, 300) + compare(smooth.height, 300) + compare(smooth.fillMode, Image.Stretch) + } + + function test_tileModes() { + compare(tileModes1.width, 100) + compare(tileModes1.height, 300) + compare(tileModes1.fillMode, Image.Tile) + + compare(tileModes2.width, 300) + compare(tileModes2.height, 150) + compare(tileModes2.fillMode, Image.TileVertically) + + compare(tileModes3.width, 300) + compare(tileModes3.height, 150) + compare(tileModes3.fillMode, Image.TileHorizontally) + } + + } +} diff --git a/tests/auto/qmltest/listmodel/tst_listmodel.qml b/tests/auto/qmltest/listmodel/tst_listmodel.qml new file mode 100644 index 0000000..7c393a1 --- /dev/null +++ b/tests/auto/qmltest/listmodel/tst_listmodel.qml @@ -0,0 +1,132 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 + +Item { + id: top + ListModel { id: emptymodel } + ListModel { id: manyitems } + ListModel { id: insertmodel } + ListModel { id: move; ListElement { name: "Element0" } ListElement { name: "Element1" } } + ListModel { id: firstmodel; ListElement { name: "FirstModelElement0" } } + ListModel { id: secondmodel; ListElement { name: "SecondModelElement0" } ListElement { name: "SecondModelElement1" } } + ListModel { id: altermodel; ListElement { name: "AlterModelElement0" } ListElement { name: "AlterModelElement1" } } + + TestCase { + name: "ListModel" + + function test_empty() { + compare(emptymodel.count, 0) + emptymodel.clear(); + compare(emptymodel.count, 0) + } + + function test_multipleitems_data() { + return [ + { + tag: "10items", + numitems: 10 + }, + { + tag: "100items", + numitems: 100 + }, + { + tag: "10000items", + numitems: 10000 + } + ] + } + + function test_multipleitems(row) { + var i; + manyitems.clear(); + compare(manyitems.count, 0) + for (i = 0; i < row.numitems; ++i) { + manyitems.append({"name":"Item"+i}) + } + compare(manyitems.count, row.numitems) + } + + function test_insert() { + insertmodel.insert(0, {"name": "Element0"}) + compare(insertmodel.get(0).name, "Element0") + insertmodel.insert(1, {"name": "Element1"}) + compare(insertmodel.get(1).name, "Element1") + } + + function test_altermodeled() { + tryCompare(altermodel.count, 2) + compare(altermodel.get(0).name, "AlterModelElement0") + compare(altermodel.get(1).name, "AlterModelElement1") + altermodel.append({"name":"AlterModelElement2"}) + tryCompare(altermodel.count, 3) + compare(altermodel.get(0).name, "AlterModelElement0") + compare(altermodel.get(1).name, "AlterModelElement1") + compare(altermodel.get(2).name, "AlterModelElement2") + altermodel.insert(2,{"name":"AlterModelElement1.5"}) + tryCompare(altermodel.count, 4) + compare(altermodel.get(0).name, "AlterModelElement0") + compare(altermodel.get(1).name, "AlterModelElement1") + compare(altermodel.get(2).name, "AlterModelElement1.5") + compare(altermodel.get(3).name, "AlterModelElement2") + tryCompare(altermodel.count, 4) + altermodel.move(2,1,1); + compare(altermodel.get(0).name, "AlterModelElement0") + compare(altermodel.get(1).name, "AlterModelElement1.5") + compare(altermodel.get(2).name, "AlterModelElement1") + compare(altermodel.get(3).name, "AlterModelElement2") + altermodel.remove(1,2) + tryCompare(altermodel.count, 2) + compare(altermodel.get(0).name, "AlterModelElement0") + compare(altermodel.get(1).name, "AlterModelElement2") + altermodel.set(1,{"name":"AlterModelElement1"}) + compare(altermodel.get(0).name, "AlterModelElement0") + compare(altermodel.get(1).name, "AlterModelElement1") + altermodel.setProperty(0, "name", "AlteredProperty") + compare(altermodel.get(0).name, "AlteredProperty") + altermodel.clear() + tryCompare(altermodel.count, 0) + compare(altermodel.get(0), undefined) + } + } +} diff --git a/tests/auto/qmltest/listview/tst_listview.qml b/tests/auto/qmltest/listview/tst_listview.qml new file mode 100644 index 0000000..535c551 --- /dev/null +++ b/tests/auto/qmltest/listview/tst_listview.qml @@ -0,0 +1,175 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 + +Item { + id: top + + ListView { + id: emptylist + height: 20 + width: 50 + } + + ListView { + id: viewmanyitems + model: manyitems + } + + ListView { + id: modelchange + model: firstmodel + delegate: Text { text: model.name } + } + + ListView { + id: modelalter + model: altermodel + delegate: Text { text: model.name } + } + + ListModel { id: emptymodel } + ListModel { id: manyitems } + ListModel { id: firstmodel; ListElement { name: "FirstModelElement0" } } + ListModel { id: secondmodel; ListElement { name: "SecondModelElement0" } ListElement { name: "SecondModelElement1" } } + ListModel { id: altermodel; ListElement { name: "AlterModelElement0" } ListElement { name: "AlterModelElement1" } } + + TestCase { + name: "ListView" + + function test_empty() { + compare(emptylist.count, 0) + emptylist.model = emptymodel; + compare(emptylist.count, 0) + } + + function test_multipleitems_data() { + return [ + { + tag: "10items", + numitems: 10 + }, + { + tag: "100items", + numitems: 100 + }, + { + tag: "10000items", + numitems: 10000 + } + ] + } + + function test_multipleitems(row) { + var i; + manyitems.clear(); + compare(manyitems.count, 0) + for (i = 0; i < row.numitems; ++i) { + manyitems.append({"name":"Item"+i}) + } + compare(manyitems.count, row.numitems) + tryCompare(viewmanyitems.count, row.numitems) + } + + function test_modelchange() { + tryCompare(modelchange.count, 1) + modelchange.currentIndex = 0; + compare(modelchange.currentItem.text, "FirstModelElement0") + modelchange.model = secondmodel; + tryCompare(modelchange.count, 2) + modelchange.currentIndex = 0; + compare(modelchange.currentItem.text, "SecondModelElement0") + modelchange.currentIndex = 1; + compare(modelchange.currentItem.text, "SecondModelElement1") + } + + function test_modelaltered() { + tryCompare(modelalter.count, 2) + modelalter.currentIndex = 0; + compare(modelalter.currentItem.text, "AlterModelElement0") + modelalter.currentIndex = 1; + compare(modelalter.currentItem.text, "AlterModelElement1") + altermodel.append({"name":"AlterModelElement2"}) + tryCompare(modelalter.count, 3) + modelalter.currentIndex = 0; + compare(modelalter.currentItem.text, "AlterModelElement0") + modelalter.currentIndex = 1; + compare(modelalter.currentItem.text, "AlterModelElement1") + modelalter.currentIndex = 2; + compare(modelalter.currentItem.text, "AlterModelElement2") + altermodel.insert(2,{"name":"AlterModelElement1.5"}) + tryCompare(modelalter.count, 4) + modelalter.currentIndex = 0; + compare(modelalter.currentItem.text, "AlterModelElement0") + modelalter.currentIndex = 1; + compare(modelalter.currentItem.text, "AlterModelElement1") + modelalter.currentIndex = 2; + compare(modelalter.currentItem.text, "AlterModelElement1.5") + modelalter.currentIndex = 3; + compare(modelalter.currentItem.text, "AlterModelElement2") + altermodel.move(2,1,1); + tryCompare(modelalter.count, 4) + modelalter.currentIndex = 0; + compare(modelalter.currentItem.text, "AlterModelElement0") + modelalter.currentIndex = 1; + compare(modelalter.currentItem.text, "AlterModelElement1.5") + modelalter.currentIndex = 2; + compare(modelalter.currentItem.text, "AlterModelElement1") + modelalter.currentIndex = 3; + compare(modelalter.currentItem.text, "AlterModelElement2") + altermodel.remove(1,2) + tryCompare(modelalter.count, 2) + modelalter.currentIndex = 0; + compare(modelalter.currentItem.text, "AlterModelElement0") + modelalter.currentIndex = 1; + compare(modelalter.currentItem.text, "AlterModelElement2") + altermodel.set(1,{"name":"AlterModelElement1"}) + modelalter.currentIndex = 0; + compare(modelalter.currentItem.text, "AlterModelElement0") + modelalter.currentIndex = 1; + compare(modelalter.currentItem.text, "AlterModelElement1") + altermodel.clear() + tryCompare(modelalter.count, 0) + compare(modelalter.currentItem, null) + } + } +} diff --git a/tests/auto/qmltest/rectangle/tst_rectangle.qml b/tests/auto/qmltest/rectangle/tst_rectangle.qml new file mode 100644 index 0000000..038bb96 --- /dev/null +++ b/tests/auto/qmltest/rectangle/tst_rectangle.qml @@ -0,0 +1,137 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 + +Item { + id: top + + Rectangle { id: empty } + + Rectangle { id: radius } + + Rectangle { + id: resized + width: 300 + height: 300 + } + + Rectangle { + id: smooth + smooth: true + width: 300 + height: 300 + } + + Rectangle { + id: gradient + width: 100 + height: 300 + gradient: Gradient { + GradientStop { position: 0.0; color: "red" } + GradientStop { position: 0.5; color: "yellow" } + GradientStop { position: 1.0; color: "green" } + } + } + + Rectangle { + id: rectangleborder + width: 300 + height: 150 + border.width: 1 + border.color: "gray" + } + + TestCase { + name: "Rectangle" + + function test_empty() { + compare(empty.width, 0) + compare(empty.height, 0) + } + + function test_radius() { + compare(radius.width, 0) + compare(radius.height, 0) + compare(radius.radius, 0) + radius.height = 100; + radius.width = 100; + radius.radius = 10; + compare(radius.width, 100) + compare(radius.height, 100) + compare(radius.radius, 10) + } + + function test_resized() { + compare(resized.width, 300) + compare(resized.height, 300) + resized.height = 500; + resized.width = 500; + compare(resized.width, 500) + compare(resized.height, 500) + } + + function test_smooth() { + compare(smooth.smooth, true) + compare(smooth.width, 300) + compare(smooth.height, 300) + + } + + function test_gradient() { + var grad = gradient.gradient; + var gstops = grad.stops; + compare(gstops[0].color.toString(), "#ff0000") + compare(gstops[1].color.toString(), "#ffff00") + compare(gstops[2].color.toString(), "#008000") + } + + function test_borders() { + compare(rectangleborder.border.width, 1) + compare(rectangleborder.border.color.toString(), "#808080") + rectangleborder.border.width = 10; + rectangleborder.border.color = "brown"; + compare(rectangleborder.border.width, 10) + compare(rectangleborder.border.color.toString(), "#a52a2a") + } + + } +} diff --git a/tests/auto/qmltest/text/tst_text.qml b/tests/auto/qmltest/text/tst_text.qml new file mode 100644 index 0000000..599fabc --- /dev/null +++ b/tests/auto/qmltest/text/tst_text.qml @@ -0,0 +1,120 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 + +Item { + id: top + + Text { + id: emptyText + } + + Text { + id: txtfamily + text: "Hello world!" + font.family: "Courier" + } + + Text { + id: txtcolor + text: "Hello world!" + color: "red" + } + + Text { + id: txtelide + text: "Hello world!" + elide: Text.ElideRight + } + + Text { + property string first: "Hello world!" + property string second: "Hello\nworld!" + property string third: "Hello\nworld\n!" + + id: txtlinecount + text: first + width: 100 + wrapMode: Text.WrapAnywhere + } + + TestCase { + name: "Text" + + function test_empty() { + compare(emptyText.text, "") + } + + function test_family() { + compare(txtfamily.font.family, "Courier") + txtfamily.font.family = "Helvetica"; + compare(txtfamily.font.family, "Helvetica") + } + + function test_color() { + compare(txtcolor.color, "#ff0000") + txtcolor.color = "blue"; + compare(txtcolor.color, "#0000ff") + } + + function test_elide() { + compare(txtelide.elide, Text.ElideRight) + txtelide.elide = Text.ElideLeft; + compare(txtelide.elide, Text.ElideLeft) + txtelide.elide = Text.ElideMiddle; + compare(txtelide.elide, Text.ElideMiddle) + } + + function test_linecount() { + compare(txtlinecount.lineCount, 1) + txtlinecount.text = txtlinecount.second; + compare(txtlinecount.lineCount, 2) + txtlinecount.text = txtlinecount.third; + compare(txtlinecount.lineCount, 3) + txtlinecount.text = txtlinecount.first; + compare(txtlinecount.lineCount, 1) + txtlinecount.width = 50; + compare(txtlinecount.lineCount, 3) + } + + } +} diff --git a/tests/auto/qmltest/textedit/tst_textedit.qml b/tests/auto/qmltest/textedit/tst_textedit.qml new file mode 100644 index 0000000..a0f0a8c --- /dev/null +++ b/tests/auto/qmltest/textedit/tst_textedit.qml @@ -0,0 +1,165 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 + +Item { + id: top + + TextEdit { + id: emptyText + height: 20 + width: 50 + } + + TextEdit { + id: txtfamily + text: "Hello world!" + font.family: "Courier" + height: 20 + width: 50 + } + + TextEdit { + id: txtcolor + text: "Hello world!" + color: "red" + height: 20 + width: 50 + } + + TextEdit { + id: txtentry + text: "" + height: 20 + width: 50 + } + + TextEdit { + id: txtfunctions + text: "The quick brown fox jumped over the lazy dog" + height: 20 + width: 50 + } + + TextEdit { + id: txtlines + property string styledtextvalue: "Line 1
Line 2
Line 3" + text: "Line 1\nLine 2\nLine 3" + textFormat: Text.PlainText + } + + TestCase { + name: "TextEdit" + when: windowShown + + function test_empty() { + compare(emptyText.text, "") + } + + function test_family() { + compare(txtfamily.font.family, "Courier") + txtfamily.font.family = "Helvetica"; + compare(txtfamily.font.family, "Helvetica") + } + + function test_color() { + compare(txtcolor.color, "#ff0000") + txtcolor.color = "blue"; + compare(txtcolor.color, "#0000ff") + } + + function test_textentry() { + txtentry.focus = true; + compare(txtentry.text, "") + keyClick(Qt.Key_H) + keyClick(Qt.Key_E) + keyClick(Qt.Key_L) + keyClick(Qt.Key_L) + keyClick(Qt.Key_O) + keyClick(Qt.Key_Space) + keyClick(Qt.Key_W) + keyClick(Qt.Key_O) + keyClick(Qt.Key_R) + keyClick(Qt.Key_L) + keyClick(Qt.Key_D) + compare(txtentry.text, "hello world") + } + + function test_functions() { + compare(txtfunctions.getText(4,9), "quick") + txtfunctions.select(4,9); + compare(txtfunctions.selectedText, "quick") + txtfunctions.deselect(); + compare(txtfunctions.selectedText, "") + txtfunctions.select(4,9); + txtfunctions.cut(); + compare(txtfunctions.text, "The brown fox jumped over the lazy dog") + txtfunctions.text = "Qt"; + txtfunctions.insert(txtfunctions.text.length, " ") + compare(txtfunctions.text, "Qt "); + txtfunctions.cursorPosition = txtfunctions.text.length; + txtfunctions.paste(); + compare(txtfunctions.text, "Qt quick"); + txtfunctions.cursorPosition = txtfunctions.text.length; + txtfunctions.selectWord(); + compare(txtfunctions.selectedText, "quick") + txtfunctions.copy(); + txtfunctions.selectAll(); + compare(txtfunctions.selectedText, "Qt quick") + txtfunctions.deselect(); + compare(txtfunctions.selectedText, "") + txtfunctions.paste(); + compare(txtfunctions.text, "Qt quickquick"); + } + + function test_linecounts() { + compare(txtlines.lineCount, 3) + txtlines.text = txtlines.styledtextvalue; + compare(txtlines.text, "Line 1
Line 2
Line 3") + tryCompare(txtlines.lineCount, 1) + txtlines.textFormat = Text.StyledText; + tryCompare(txtlines.lineCount, 3) + txtlines.textFormat = Text.RichText; + tryCompare(txtlines.lineCount, 3) + } + } +} diff --git a/tests/auto/qmltest/textinput/tst_textinput.qml b/tests/auto/qmltest/textinput/tst_textinput.qml new file mode 100644 index 0000000..2399456 --- /dev/null +++ b/tests/auto/qmltest/textinput/tst_textinput.qml @@ -0,0 +1,286 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.0 +import QtTest 1.0 + +Item { + id: top + + TextInput { + id: emptyText + height: 20 + width: 50 + } + + TextInput { + id: txtfamily + text: "Hello world!" + font.family: "Courier" + height: 20 + width: 50 + } + + TextInput { + id: txtcolor + text: "Hello world!" + color: "red" + height: 20 + width: 50 + } + + TextInput { + id: txtentry + text: "" + height: 20 + width: 50 + } + + TextInput { + id: txtfunctions + text: "The quick brown fox jumped over the lazy dog" + height: 20 + width: 50 + } + + TextInput { + id: txtintvalidator + text: "" + height: 20 + width: 50 + validator: IntValidator { id: iv; top: 20; bottom: 10; } + } + + TextInput { + id: txtdoublevalidator + text: "" + height: 20 + width: 50 + validator: DoubleValidator { id: dv; top: 2.0; bottom: 1.0; } + } + + TextInput { + id: txtregexpvalidator + text: "" + height: 20 + width: 50 + validator: RegExpValidator { id: rv; regExp: /[a-z]{3}/ } + } + + + + TestCase { + name: "TextInput" + when: windowShown + + function test_empty() { + compare(emptyText.text, "") + } + + function test_family() { + compare(txtfamily.font.family, "Courier") + txtfamily.font.family = "Helvetica"; + compare(txtfamily.font.family, "Helvetica") + } + + function test_color() { + compare(txtcolor.color, "#ff0000") + txtcolor.color = "blue"; + compare(txtcolor.color, "#0000ff") + } + + function test_textentry() { + txtentry.focus = true; + compare(txtentry.text, "") + keyClick(Qt.Key_H) + keyClick(Qt.Key_E) + keyClick(Qt.Key_L) + keyClick(Qt.Key_L) + keyClick(Qt.Key_O) + keyClick(Qt.Key_Space) + keyClick(Qt.Key_W) + keyClick(Qt.Key_O) + keyClick(Qt.Key_R) + keyClick(Qt.Key_L) + keyClick(Qt.Key_D) + compare(txtentry.text, "hello world") + } + + function test_functions() { + compare(txtfunctions.getText(4,9), "quick") + txtfunctions.select(4,9); + compare(txtfunctions.selectedText, "quick") + txtfunctions.deselect(); + compare(txtfunctions.selectedText, "") + txtfunctions.select(4,9); + txtfunctions.cut(); + compare(txtfunctions.text, "The brown fox jumped over the lazy dog") + txtfunctions.text = "Qt"; + txtfunctions.insert(txtfunctions.text.length, " ") + compare(txtfunctions.text, "Qt "); + txtfunctions.cursorPosition = txtfunctions.text.length; + txtfunctions.paste(); + compare(txtfunctions.text, "Qt quick"); + txtfunctions.cursorPosition = txtfunctions.text.length; + txtfunctions.selectWord(); + compare(txtfunctions.selectedText, "quick") + txtfunctions.copy(); + txtfunctions.selectAll(); + compare(txtfunctions.selectedText, "Qt quick") + txtfunctions.deselect(); + compare(txtfunctions.selectedText, "") + txtfunctions.paste(); + compare(txtfunctions.text, "Qt quickquick"); + } + + function test_intvalidators_data() { + return [ + { + tag: "toolow", + testnumber: "5", + acceptable: false + }, + { + tag: "toohigh", + testnumber: "50", + acceptable: false + }, + { + tag: "onlowerbounds", + testnumber: "10", + acceptable: true + }, + { + tag: "onupperbounds", + testnumber: "20", + acceptable: true + }, + { + tag: "middle", + testnumber: "15", + acceptable: true + }, + { + tag: "negativemiddle", + testnumber: "-15", + acceptable: false + } + ] + + } + + function test_intvalidators(row) { + compare(txtintvalidator.validator.top, 20) + compare(txtintvalidator.validator.bottom, 10) + txtintvalidator.text = row.testnumber; + compare(txtintvalidator.acceptableInput, row.acceptable) + } + + function test_doublevalidators_data() { + return [ + { + tag: "toolow", + testnumber: "0.5", + acceptable: false + }, + { + tag: "toohigh", + testnumber: "2.5", + acceptable: false + }, + { + tag: "onlowerbounds", + testnumber: "1.0", + acceptable: true + }, + { + tag: "onupperbounds", + testnumber: "2.0", + acceptable: true + }, + { + tag: "middle", + testnumber: "1.5", + acceptable: true + }, + { + tag: "negativemiddle", + testnumber: "-1.5", + acceptable: false + } + ] + + } + + function test_doublevalidators(row) { + compare(txtdoublevalidator.validator.top, 2.0) + compare(txtdoublevalidator.validator.bottom, 1.0) + txtdoublevalidator.text = row.testnumber; + compare(txtdoublevalidator.acceptableInput, row.acceptable) + } + + function test_regexpvalidators_data() { + return [ + { + tag: "toolow", + testtext: "ab", + acceptable: false + }, + { + tag: "toohigh", + testtext: "abcd", + acceptable: false + }, + { + tag: "acceptable", + testtext: "abc", + acceptable: true + } + ] + + } + + function test_regexpvalidators(row) { + compare(txtregexpvalidator.validator.regExp, /[a-z]{3}/) + txtregexpvalidator.text = row.testtext; + compare(txtregexpvalidator.acceptableInput, row.acceptable) + } + } +} -- 1.7.2.5