From a8dccf1ea587c9ab242b47f55d129ad2c41529a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lucas?= Date: Thu, 3 Oct 2013 11:48:02 +0200 Subject: [PATCH 1/5] Fix line ending / encoding. re #96 --- .travis.yml | 8 ++++---- phpunit.xml | 12 ++++++------ test/baseTest.php | 26 +++++++++++++------------- test/config_test.php | 6 +++--- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.travis.yml b/.travis.yml index 03ea145..bf070f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ -language: php -php: - - 5.5 - - 5.4 +language: php +php: + - 5.5 + - 5.4 - 5.3 \ No newline at end of file diff --git a/phpunit.xml b/phpunit.xml index 568c34c..066829b 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,7 +1,7 @@ - - - - test - - + + + + test + + \ No newline at end of file diff --git a/test/baseTest.php b/test/baseTest.php index 78b6e35..fc50712 100644 --- a/test/baseTest.php +++ b/test/baseTest.php @@ -1,14 +1,14 @@ -assertEquals ("?db=0", addURLParameter ("?", "db", "0")); - $this->assertEquals ("?key=value&db=0", addURLParameter ("?key=value", "db", "0")); - $this->assertEquals ("?key=value&otherKey=&db=0", addURLParameter ("?key=value&otherKey", "db", "0")); - } +assertEquals ("?db=0", addURLParameter ("?", "db", "0")); + $this->assertEquals ("?key=value&db=0", addURLParameter ("?key=value", "db", "0")); + $this->assertEquals ("?key=value&otherKey=&db=0", addURLParameter ("?key=value&otherKey", "db", "0")); + } } \ No newline at end of file diff --git a/test/config_test.php b/test/config_test.php index d2f03ce..824e18b 100644 --- a/test/config_test.php +++ b/test/config_test.php @@ -1,4 +1,4 @@ - Date: Thu, 3 Oct 2013 15:22:21 +0200 Subject: [PATCH 2/5] Add real test with a database. re #96 --- test/baseTest.php | 2 +- test/bookTest.php | 43 +++++++++++++++++++++++++++++++++++++++++++ test/config_test.php | 4 ++-- test/metadata.db | Bin 0 -> 139264 bytes 4 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 test/bookTest.php create mode 100644 test/metadata.db diff --git a/test/baseTest.php b/test/baseTest.php index fc50712..2e60c99 100644 --- a/test/baseTest.php +++ b/test/baseTest.php @@ -3,7 +3,7 @@ require_once (dirname(__FILE__) . "/config_test.php"); require_once (dirname(__FILE__) . "/../base.php"); -class StackTest extends PHPUnit_Framework_TestCase +class BaseTest extends PHPUnit_Framework_TestCase { public function testAddURLParameter () { diff --git a/test/bookTest.php b/test/bookTest.php new file mode 100644 index 0000000..747e593 --- /dev/null +++ b/test/bookTest.php @@ -0,0 +1,43 @@ +assertEquals (14, Book::getBookCount ()); + } + + public function testGetCount () + { + $entryArray = Book::getCount (); + $this->assertEquals (2, count($entryArray)); + + $entryAllBooks = $entryArray [0]; + $this->assertEquals ("Alphabetical index of the 14 books", $entryAllBooks->content); + + $entryRecentBooks = $entryArray [1]; + $this->assertEquals ("50 most recent books", $entryRecentBooks->content); + + } + + public function testGetCountRecent () + { + global $config; + $config['cops_recentbooks_limit'] = 0; + $entryArray = Book::getCount (); + + $this->assertEquals (1, count($entryArray)); + + $config['cops_recentbooks_limit'] = 2; + $entryArray = Book::getCount (); + + $entryRecentBooks = $entryArray [1]; + $this->assertEquals ("2 most recent books", $entryRecentBooks->content); + + $config['cops_recentbooks_limit'] = 50; + } + +} \ No newline at end of file diff --git a/test/config_test.php b/test/config_test.php index 824e18b..847889b 100644 --- a/test/config_test.php +++ b/test/config_test.php @@ -1,4 +1,4 @@ A`jCSKV zd%W4i@n$_v)@Q$aUsZMW9~vM*i6W~(*3YZ=d*8kH-Fx4C@6A7ZGFLJ6#bRm2sOV9p zOHozjNnKYI^&v(6K8%}+|37BkWvC3>W4~;6@5aY~h*Ff2_($;%;_t+F#b1fH#Gi|A zivJ+KF8;mvs`wwpZ;D?NUl6}6J}v$m@$=$eh@TPvxp+goCVoP!i;5_U7lkQ4C|(fn z6VHm1;?EY&@g-$M)`3udGyzblx5&Fbf7 z4xgOWtw4Q3&t-L8KXK~Z?D5&N`kAvQ=4Q@5uRk;U{A3@(H~AHe6;nSq``kJG)M@-b zfAXY$Wm1lP^rOY~yvY|- z!}XyLZR{4msEA(_e=UAP{Hgdo@p~gHmq5($Mu!B80g^ib#^|J%>k zjeEO>mD8u^o=~HMgRiRR)j2A2CVR;&RH`MjOeN1Ro27ga{PC$`e#Iq?J`oM5@$hsq8Zu%*Bb>+tV~Io}IBhJZgQmF{n+`|P;czyHfK@}YiQE|C&Y?IQVK(_T}w*Tf%+f5MCR z^C0l{L4frCccTq}j0oGa9prO`iw(wyqqE0m&YwJ|kB@gUJe)su;@R`F6J)>$Y;NQT z1U28-%wAQ=6|&~b<(KlX?k&J{Qsj4fA_L1p*m@8||EdC0!?Z%Sg{}U&J~}J>V`F3L zPv_WhLjy~hFI{y;8xFEfHZaY!u-fP|=g*x!aSF-iW>1~#0EtSjk~i7JQ*XzyLAmdI z;bNhgP_(&CZ{jnLDG~)j4wh>{&Ew!THjmd8^fQ z)_^%y-+{c!W+`Wu7r5Vb7}8GGtX_8Y!c(CR6_RMOAPryJM*3ViU643$mpDGYy^hIe zGS`{Is!>_KR=Qiv8%t#eXC0%V-I#C(;8m-zR1%(ch_`H%7c#|5W=TJM`t(T$c{=q? z-Y8cVR*Ko&V$MW44)QhCbG)q}Jsx2C7yplff8Ni7fCquw0Rp|M7*ly@9wGYgQdTjW zq5O_^uV$#fBYvp?1h3ue_m9Qn>eUx&L;XVDC@fWtB@8em*l=DAVg1d50Aif!@{R4^ zuRhONS>j3Ae5q;{GG@c8zb=D@k1PvKB4uFXLbrb`99FN$JY`jEIj2@RcSvtt&dn*L zz|uli>A=WYg0L@?ZPVDXoeX4+uPX~nZltPAS`%m;OXp{Ljb3q zH5>>GiZ_%Y@exJ*1?J*^AM@{@5}y&@5q~RwAigAiTYOx6QhbE|8hC>D>OsJRzz#sb zcQ<+5j0o|j(xa-ogzpY|AMW<;q5Dv`Z-DNDs&A0)1FEl&?)|E7gzkN+Z#Uh0RiB^k zJzc00^6?8_H@*9WuZ!;8ns12iU8--G?n3qLqPwQ{+4TPd(EN8SF7Vr+{V#wId9pQVg zx|{DkU1ZenA@b*UpXla$x7Nk?E_I0SLLKJ2rtTUPU&Z+Uq5`kH@4_SRoAAc_P0;?Q z;eq!v@V@&Ac;3B;&)(02fCqu=fE z@uaCr9~jRNWB|zf?Z*E%@Y(x$5bz*y10lfU@rX4p4_o8(kTu@d#{YhfR~!F(`Mp=| z;X6itR1sHF2SDFG)f)d*d;Aw1E>w;08Z--P6KM_J&x3#mf!huO2i#&8aW6adcJRcWtJ_X4 zF5uTD5|MT?!&AFlX)q}uwL%??@&Bu+X z*8HDp&Ht&}oc|+ZAkF`&*8HDp&Ht(G=l{M1``@P(@k8-_@i&+Od`tYXcvE~0EAqdB zS->xf&tfj%)7RZRF9Qz(9t5r#0^I_<;ZC{^-$B=*J#-x$pzFXOUHkj!+BZVi-raPS ztNi^wdiHhGwY!V1T|;yg!*tblk^J8)zT~$5zX?Ae_5ir%>Us%12zU^HnMX{rL_k|4sJ& zBl`c+jcS0GuLl7S0@ni?|F;BV`{L%V%r&+gyc7E!@6DqbgGTOpi)yEaY^OT*o9m!Zg7 zx>j@EcLnTeVIXpSzJBA-#)ZM=^#pFqrL-lwLw2{Qll%MiR|>YE>$X_Q8ts(1YEqZ^ zZNqG}GiKwP4q4`7-~)dHOW+S-|NGk8)+nza4+0(pt{DPk$s5{5*I~Bm^|FOeW9y*kr|>Rm9h8|%V*88lAW$d#%Eka_K=n)e_7k60}L7F3c)AAI4N<1l^6KAx) z(7vg?sr|lCv>#}Ht9?iNjP@z*lkUH3ZkCtuHim%jIE`bN4?D(ppKq4$-Qs2CF0y|C zG`n#3;ZF9jZeNnV539Ze-}`)VzIXXzeDC!=N_W`F4)VRvm*RVuZ<_DDz6a<&D17(x zUG-I372I;*|_$K+T`VPvU{nz~eZTtUcz!N^sYXFzUDmcO!&^u8*aR$j1 zz#l;IKLG9jt@iui1AhTd@JZ$Xp8^-K{%&I=_L_dp5McY&h`Hyfr{Jve> z4u7{?m*=zm|9w8W-p|)9*Z*~^(*M7^OWOas#KW9lm-ZfcS0CcL5EJsQ?UQ%)5x#3; zzr1Vjm3Ni*|LIa6R@8^pW$jnB@2Njhei?r^0G~HRLaEy`f}MUo9NLzBA3j?yqT%+F2LDbIhW5@i9oSi z*;=ub&)ORVhf|SIS}v+AT1l!0+q95 z7N`cqgeY3cG_a>jdFtv2ExY{KLmKS`+(9v&)DveNge$HFK6txysq0m zsZ?j|vyACw<6w#EhgRvC+^cUJ%vyHj%o zq(R!%Qm#H?p+7yx(?jo8#{7e+YBsoD49;BVRY|nV|&;g@~Yfkx!I)J9CB}+ z`Lg-@H5=31D`Kq^YwM4J*w(=f?%e9UE4QCr^`fxDcl6L&&b{%KVsrED%uNpdE=Yk60(3*S|ebFGJVG)F)b=0f#M% zqA~V>j#1B(g|rkP!<13$o^5x`fJ*6Y9G>$Yj>!Brv59{P#;kKTA>}m zE>Q&M_xOlUQTK?Ik-5`{PwXlln91id=Du=mUX-UaFW_KuoWV;|=s~^iaAE~69Ev(B zR(72^daV1=-`Z~a$Pkx*et7oG`NKoMRXn!_AD(sndDAGN5{sDrM~MwbCdURj&GSQ) z=J21sLNl`GmP@9o&s8xMTQM<1-<;~n0Z#SOAf@Un+_U*SE(&!Wtu7~LXZksZ@&M=X z{(qtz=FF8MrrT*QxZ#*$szFm0@jlMtg?`Fn@Y`RR(dR4G>^e;w&u5Gh2&HARWG^RM z=%ZvqKl(V8JfB;Vo(p(BR>bM>t;!4caKiasO4u8UQNoi&cn4fyuZ@;T;K2%vnD3z^ z{eS;CN^-#{*|Xi8kihFYv-)u#Ct2}xtNK5@T_iY$32hYls*lpEuTP^hdCt7TwJlzx zdGq5qBd@Ga%#eQyd1+7?s6`zzhPpVPXS=zzNB@AT-gta9(zwpjJ}NlHdKaY_82JlI z;kX2BxmOQsoJ&=3F5munS#H}inp^hNlPc%&lE!(Qyh?ercPwe>IFR$}yZglZm0jX7 zoc|~OPw~HrKNA05{3=fV_yz3#|55RZcu6dZ$HcSZIQ=>F?>%@B@F1Y{b*X#Q5hA@i zdb`w7bp)f?s0^fmaYTFt`|{Hex0?gyXvL2_2o3Thk1PZH$U{UwKQgQD<40!Sz5K`w zxrZN_(UMzFzsd|0>-|s}=7rt-$n30(ADK@Heq?5&@gwsL-v7HxJ*%i^wJ&OaCcdHd zEB`D0Zh>F?e&5)MhuTTz@a`*A=;Ty74B7QEad~YoA8h>E97~dmrkO4C<>5MsoP(qx zyWv#hjSt-IAKSA>y?P&KK+-S$AFoSJA$ID9^k<*fpP7BWwb(7?duuO%TDnuGx8he? zZ!y0HztU;}vjVFnvs^Z_3uQ>JE)U?XRA9SXo4Pi~oYZCQ1AT!lYh2gelUwNtU6)5v zZ$W3WJ5SfknNn`m@$lW+-lG;UxU^;^pq4kD0)cydV~57tp+2MTLYQxlc=rEWfYo_T z@E~xF5b*5(*9bT-nFoPe00J)i-%rB+cMul9Z)m@um9&G}u=*$JXVr>&0;?3it$a?o zqMY2k!HH2UZy8Wa0!T6DW-tq4>#mQ9(NU_2SYni_6|VKfv$hq{f<^>i#E z8cz&z5r|qVA{mZk64AIBjGM`6tB6!=vAz{_M%?I}zhe=RNP-TL8(l)wS`q1t5sAjK zC}J_1u>ciKX6uWfBj-lve4UGkCg@DM(IrH!6=9?oGt=SFbTFO`CF~-i;rb%z1iR6> z?v6#IA_+R;ZgdGzYefJ~vFS({2o;Uk-ECy*5o*7W(mmVNv50Ui5>C*Wd812+Tq`8D z7&D^bY=UqqWwoOTr|5*e(K*qvkVGOuNAQgEXf?5DyQKMf%4PW!2_ho3Og<)rD4#=KDuqfuOey6mTd;3r}xn*CH@`(L+`SCqW^9qj?(hXn9HDbdaQ?4bw!8|(M^#~yk}y_#Yp zm&<_WdfZoM^2%keDUoBQ)33u`W}8QNwd;26W_Dtp!**uJE&G`>TbwJW3**~drY&=( zgM0A1p7q``qdI#T)wX6Q3S6r-)O^4{_P_(`Yj<-$=Z(TrmDWx>5AUt(V<(s@G@&~l z367y~+h-|Jj&NwkO5q)YkCUYfJYn58Hv2$3i<#4`g|PFu|MHOs{bLV4sBSzfL6b|D zjMDl-E}M6rChLLYgxjEL;i$2>-Bp;M#3T4zRERp@sqyJl{U%i%i5ZDR?{9;rE`Lq15ia$~C&--~0@E~w&Kwuw+ z_w#0AF>FTCkzh7u7{ORLnhd7Wuwo~pNh6)jgcI3NRF3~1{ofkh?zO^$07GCxoL9F( z{yhHE`d>c(^NTp|)BX2Zoc@VF52hXjJP5q=5Wq1VIJOT5cHe~!zTZ@KV>@pO8NjoT z2|2{a`Mnq0lYa{#y{Pg1>X7&jo`=QvaqZ?S?E^T#I}iKR5!?TV>Hlju^OyeKs{ecE zTkh4sgMbGCqV}#KqJJ?+^sfz2$Ur~Q{~!@^sE=s=z5P8z|Gl(2;Qk>W(Las_0sVJ( z(bXpqJ}{!;>KkFU;a8qg@b6W1M%~Z~+JA=`z^9d$@O>M<=(um}_=9aHP@Jg`%%C{W z!OJrb`Nx7mbtBGGC@ZFPm0!r_N)>Fl+W0bpn$j+n-S389_VQ=F2eUoSz8~p1Ru{$p9IqZ52*EQYs;o4eFO}U6& zmh0x!wlMWXQPWQJb}MFwy-Gh)!%qf;CV9 zwhnk=H2>$ZXjPk78`f4*YkCxY~*rbnO-a zwVn}(QL$fb-~!s6BCIyE0Bip5?-cQOw*>gTMtBhLAg~z(1|bYQpd7Oo*U0(5?kL$s( zK6C1*ZoNOIhr@x6lW1~6N4GNRG^Z1MuWxK-Z@bw=tAPt)>mji*u-`v+_ucAi04BD< zl?M>Z>vSDxWY~2;=DH`wu60t(hTm3Z#P(16#-6yl9rPp&7Q*tLx@L^rGCo}=%(m0= zeN&rlOHFjO5T@&+H2){Wh9bTtK8Kt4^B~|s;BAG#doh(4jUL^HeV>h`f>F@V7I9=U z+&@|bO=5yC9>+Pui`ay*SkjLy@=%!7ajfoq4rn24$^c!Z#t!dC1+qiMkg@@M(KPdulH@5AT!YuNkyUyGj;uZyx+ zLZJ8aAmBm34S_$3&*yPyN45yXG#J#6FOo3kjtBW z-AI4TC{&E{`kpSKglD*5WZ@h z!Sc7)sydDTO#ejr-xtq;`o9L+e;wSQ>~6UC>_NbTfbvJJ$e-M0zg$oL{vq+8>LUMs zu~)Uozn2_#>dC){N9KC+_Ya8sRGa*Ll-?r$Zt~=5CjTxH2U?K77!mt0>buBaDtRt*`YsSb{JXVVwE z>2ovBO*HM1AJDnByy3qDU4654+DN}`mN+~Yo}3eG?2;L=O;lz?j|~k*kQ?q4W3#5x z_qJtM%$F;&O#3k4mi?yNU)yF>LnF)VD621D8X925V3;v#!10yF)6H5TV>A_SCCuRz zs+XHTf*_g#jcNsivOuQErf+s9TRmbON6^%{)X!55JuKrk1DdvsYbs~es4O=H<};ZV zF{Mj!Q{=^bt6rsjzt~NgT$O9!CHtSI{Hdb+srqk}Z-|H09}!1*_y4;7voi<$dvFZL z&vsveD>tpWq5q0y1%Ka(*$X-a=ri*UR4lHS%TCHe9hx9(;{YLug$HRP4-B4UR%wyC zL|chV7T(Ux>xig7efq>H-TI)PJ~bg9^+R?TatgR;3?Dcz4z`k^XCAw9BIMr_jjC@v zN=*X|J6_~gq!vMS4R7%saL{G@9dHn$*grI}WjK*`>n}E}j+{P!>Ks-nwFi#m2D0jh ztQK&SGsSA5nGm^3cJ4FpJ8sRSl&2)$ZZo4&!}tZO2+2{<>`H#p8m8(72kJ9?vBFxm z-s-DLeyXYVJTa8cOICmg)R7d{Iv=YLw3_-nZ#Bg=xn#Faf9!ER6wr-JOA9hhYvAiV zyMh+by{Slsg#`uP|4+SNQSVppdG}NO4!5A|>O$DRXLeTo*pWs`Tg>I5Xkqn*1xGhY zHGXSLdyNrqFcCI0CML6Xq``FAggiD!XoK-2&4IGYl?BgL~$K0x9176 zx9UJC*$AMy!}PEGe+vHnryZuAn?Ad)*OiEW&oj@cA6sur-ZjmoC56{McP8>$+_#0! zYsK+M*GTFOpXE^2mfD@zhny!?J;?o`1)|3s%Hy|D!AFC#@lx801Di7d*Z3P1P2PO<>$>`Q+`s3E zC)AG(w&fDw59HeH*ytRkpFVWv5ESce;SW?$OR>QD(1AA~-XV(nPO*hrJ$HyHG&Sg5 z#Sc1b0R%8f|NmT3|GD}zHy?f7rZwuivXt=eNu|^`E;h22n&yVyb9hQEv@JuaMY+M; zq`}l*D_3gk7wV^v>y_;rW+!Z{#SU=@C)@gFNM-28aEmP%|2k8?Q*Vp@zo4jJP`!PA zZ+>>ub!9Fo=l+^zBrJu_%@(YnwmiZ5evJ%4rfxj}Rd0G|U

SZhjzxT=s+;#tG^Q z-yt^8RQq?B0m%AnF8*6^kmLX76!mlJ4PWzj^OM(2Uc;^{r>FgU!eRA|CYz+x=G??D zL)y~5{Cth1zg5da1L4au-E=QQYW9R1M)vNacZlj6>;4WC{k7}=UCL!exvYI&3}ElS z&u>lxSN5m;d$48i8~u%vDQOdK{G<1_*he2F?(KMnS3fIn5t2N~K~RK6xk2wOn~bTvkTwgLcvGn@6iFMtM@7$(t`5 zg>1mItQ1AHCi zD^>_1WQ4D~>Doo-fB1xto<%oZwJ!cT#8(^%g7~`}`u`y)|8JP;{}|N&HSmM4fFpbn z^#3XPYgIQd%!7ajfg1|}qS6tj|6NS~!%Y7}O#g#S{{u|_{Y?LTO#i)1|2<6qex`pP z(|bH zT#;Y+L+{-psh(RdnWjEhEnmdibDX`yUxsM8>bW(XhOw?ck25S__F2TriD9u<=^7U& z)Uzg*%@=f()vz@Mr`8@4&!}_eN->9oZQ=}2Hcw%#P?lm)jSm~BLg`Wtd*jGT3{v&x zabSlX<5;m;;sW~U%Mt9NV}H4j%VRkg+S)BX(HU0$gJPZ9U92uGbI~WERAWOr{dnFe zWAC~dRO-UAQGq&=qow^^OJrU$13rah^7%?NyRPR7`h3PH<;@Dzk$&I;RiL)CzoF@m zh-X!2*?+^gVjgFZaQ(XoA&wYjll1&{u)}tL--7)AX?gx<>+%27`0V{W2zU^9#~|R6 z*roI?Wqv9D_w!dN|M&894_|rwS9$zbdHh$U{4e;c##i3|$FKai3jY1Q`XTinwbyAD zK-u5W)b+#uvFcI(Sn7a!*=?hAO{=)9qpr}iEi9Dw=gVD>`^TP$tCt^iSv~VcVX0~? zSu4Jg>FGnhu?NP~HCG(l7W#CH%-sf0eS+6P)}Oi-*jllcNqM2ZKF_o$u|5Wap=NTe z|EN#U`$DFeH3L8Sglznnt6}xA7ivb|`VVuRYf*3btxvAYMR}Kdp7f8+B-P6gyJ}GL z3}M^0t5X}koN7^rhA0i7X!xp6I01pnVn$YF?aBizfAvcVebELK>6Qd4>um{;D_r-+q|n zwfNl#0iygNrvG84|6Znljp<+T>_C_F4wRmPa{OodAMBy^zkcN}73DA0_p5)X9nyYD z`+>Ns{D$(<&O_pI-wFTN(K+APLwnQ(p6Io9MyDlOv~l|T>!veZA89_FchH}(_FaGM zq;KrLJ?eSRg}&HXyik{g^<~FB7wpAgwRwKqr-4p4n2;}l@~m{2=yy$OyW+X#bX}qI zbq$cK$y}c~QJZ3ULD!4N{A2O`>SfhcsIzR)HG}Phoo`W~^RZ#>+6mVu@EEvwT$UwT zmQ|atcaptt)3WL(tDQvFO!dj9d}9yarXL5G z@A<9NCEczra{V7pAKa&XPl31pXT?v87sW~OG`h;eaHd`bI}_#(K*C&U|AH~6HuSH#?ZJI_bF96bnJI|OL7RFBiu zcZ{yxv*PEJ-Re=~IN&>itFQYo$4Sz)FG1I?I9+>V9R4VWALQ^9hfmX0JV00VetsUO ztM(v==p1qnKi|#IL4Ka(>jAoUP0_VS&h3rTvwt^gvRfVDTJ7Rm@z}2N*zV(zyxS$= z%Mo5YOlh_E&{chiu3~~i_HoD~9I~H7-pe6@KAZk)>wg^kzq1196W|PQfZAUHPgn(y z$bv^a2TpJj{NPD&fS8y9<&T5%@6>*Tb;I9t|Do>Q&x62C0|CPO5vKnUrvDM9|6NS~ zyO{oWG5rrS{SPz!4>SD_GyM-S{SPty4>A1@G5rrR{SPwz4>0`?F#QiO{r5Bd_cQ(X zG5z;3{r58c_qyo6hv~nE>EF-v?`Qh=GyVHq^zUQ(?`8?Vn zKlIuUJ@x~w_UomRe0E5;{m^AU2>U^^AK3p_6+ck$&--~0@E~xTK!DhhSy+<$|EQl< z)K6=J+B4dJ0Y9D}7r&}D?*DU}KxNZrKJzU59G2Nhi@np}B1U(k&JD}{LT*>|tn+D% zjV@pFXMAH1-mQL^Gqe2rkez(`U|og?GoSH|g#+qOO8>BGxl&xgCPMk@iu6;<)P?+5 zUF!O8jyGIg3fh(^ZRP{p^Qz>H<)v39yOQmUXQz3}Keq1y^|JJZt8H8a;5aWIsB57U zY&XscaBa8L2>`8m}zF&wVdUDA-=4LFGKVH?k&+kuMr*uZU+eP zkskYSdWo@wlS}lo#TBEFG0WmE5m(QYii>6$yI<-@ma(}pBz?1_(Z0C;!Z?m$A3{I>L`)3wFf0WQq~7 z4^&?)RrGmTH;prsRcHNQReo2YfA7-Y>j%&J_Xfw*pGs9qxg{_MC zez%VzJa_iQ@#C{+<#BMXNOeaB&Kx_3C`V^c&YqhkJ&$v!i*b1N_=!_>Av%6mieqO_ z&shby&yUmP+1HfWq0=XiPUW(XZXt)7j_E#aaGROb?fiO8)v#<7bPnFNwS(;<*Ph%_ z>aPh3Y^K;|yPXw-+fLWGCh*z-wwkXl2S=qCvj?(&HA=m%@ ziuR>5?m)I5j_e_FOYpXyyp#&m5fr|6t~! z&(EIIX*cpim0Trn^7)e!r)Doq@oQkRTFqq-(Iqw!u(}KZ6v53U&|w>0=eRAe&DFJ~ zx(Yn$#O-R4>iCXqmsQ&>a=UG`t*$KMlFm;OmeWo?fs_~{!$g1Vaoqt>J)u(X&spH|a|X`GjYXeCpeQqD-rAXusWw zkZRvI=H4gaKi>-e647kXZ3=%G)v2Qee;XN($p!%_?aW*;Z>4_Nh+pvU-M>e@5_Q3o zSignK^wLZH!i1t%8 z>h_-MA+V8o-oH1wSH1G8n>wX}fh{8}A>X>SB-6&YE^=gIt?3$8F0KgIOs_{ypFeeO zB9{&5n`VLC6pZvzPH{kyt5f@EXgz+#k0lE=k$#jP!sQ3CJ>ZoivDMvC~EqTPL&xZwDLO$)8)Vn3I)VJEzDx(r*+(H(q|ffA66O)vJ43;zG>= zQhVCG_iOQ7ec8ZgTgIvHZyj3O7DfA(thQE!oBEy59io0Gzw))xzj|6xPivpQ!4!Wx zWWVu&5BT@S?^dr=TVk>_qRH##7%bzo$KIyzJBzt8dpFj~kR3u&B@c_wNlu zO@h^iZM~$+Tb5o3Vq{~a|C_^>Vzh^B!`GdKD`oD6D&BVpq?GeD0F=gmRf7(2J5Z}SvF588(H!^V{LOtD@tpdypiY{#V~hKuDJCi*nUWEDfDoa z>n*Ajbp5gpfv z-tQKMz?D58^zWTZsvkYjj?Qahq>I!W0y|QBLwpwzH<%=uViwv*zolrt*35cF8 zmiy)Q^gGqlQaSl*r)<=!hGxxSdd=b<|r5 zGh`F%5krPuKVn#UTNA_bZBx8>&CK}s&g@rTUuxI$jw&nr-FfZU>rTv0ecmeKE!E@H z!2141$n|$NGO<|zm9S|)OZ)$i6y- zk$Ayq4r_(&n`F?4^38q@%|*D<)MNiP%+oia=gDirWY}LF-4g86&4Ae+?9(ndvNBSG zy`?tWu21%SE_b>s)pbMPLZ*6>mx1l5Ue~ui`(ic2V)9mDb=0rxt@M9Q`Hzb7A2suq zr1sa;MgQK@arLUd9hy0FRCPpNAKDSs>Z32X-EA6>jqup<9&DJ?+(~3(dZ|Y>3fc)o z<0fpw$?UbemSi8qx7Y_3vDX82yM3?;!BfUO0snS%gwu-p&T#6m6FuT&W)J*MpkvTq3Ph;t3`w@&yC32#-(zdtAY;ZQru zZ-B#sMfwfF+wO-=h~LS&M*L2YoSfUq&ZuQwPySB$PLRKonN9vqK)v+eZv4M}<^LBu z$p4lNrH)6q!#X0SJMz}KgFDquV&lyu6o`u* z#*;Cf&yCCRENhR9Ra=cmE6fVUidoN-8`s>e6fh04U%gUp#~jGcTE`lkfW`)q!&;pp z;>6rKTX2%JZSA|;G`O)`l<>}VhPS0JI3U>uyf~iO(jjCgm;hDX z;s8{}R>ptrbwzt!(Aj6+&x61_0D*V)=y3VqOD%^si_2pJicN>MS~Q2fG%m=#fkPYn z|0&qoJE#33cf9yJMg7=A+PP&@KWk!3lY(Ac)EjmUB0pmTD{`^1klcp^QNq!tSk_)B zlRCCUS^DT5UEPZM(}8Zv`3UwTqI@fOzL3jjWrl^~B{Q$5*Y%kdvy{tVPouR`4*Qwt zPaBzw`pIG;TP#fJlzugj70x&hIb)UzRF&0|i8avGa(*3qv#gj{cb36w_^fUevbu>a zRIu`X#avr9D*CFivWnGcyoZZU1AkUOT+LjZ)Yq1aWn^5+trSbyoRP-@YGhN$RLWSu z#&9qesV;_Yi4dqhWsUEP*p{=bFXvY1)1_QtNjIocWoxS#T8d2#t&~h7vuu`7&q=HU z&n;n6?)mD)VnNSVOO%QtWsUW+4ViGNvaDxNL={`QJd;QJa~DnhcoFbATP-h}<*B|i z)pS0GM?kQkhf|^GB*Ui_e2WE>GL~T6SJqdGAb1qly^O|48*{?!AU(`MW&o@)+k+Ma8hNcb5XyF zfu7O}Rp1ODtCs;V6or;%N>wvoS?74PLY|f&PW8$5qlA3ExQ2>Q?Rh>!0x+SktF`4^W*N0uBSKj#<`)5f)QI4jyM!HtK7>|) zXbhw-P&Vev!0?LPXm}l_^R8ONxSjH}Ln-JG+Vc zgT8ai=q0q8z256-`fOWE3S<7Vs*Q3SkQn^?NOuF$L>|zOQ zieQN@lNo~Q3c!C8|EBa4jDS?_viTAaORp4VMNz)92@_Ue6!Z%qRI`K$m@L&h5f4lu zqSe_z;}zo~YEvlI*2Pj*l(EH5kOjY?+StH_k#mwm5XvZpjLT*P%n1@C0MQntToh4` zp##pK;Kh0b!+Wi+2f2vFTnQA+^pG~O`wR-GRu7z z9slHq-lN6!Jg^qqFfLcI+hP%0F}k0@ZSeg-$13U*v4EO3Qz;`HiUg-4$#^i9G(y2t zIvo!tGtpQ$n=q2utfAIdHJ&^ejZDQ7(@s@4#>BAl%$$VJx(%NrM%iStZidb#pIXBv zHa(R{#hd~Gn?w-civTuJH*9*g4x3Htpie{tY8(SVG-SkrMmUiP#uAA{aN1Z*2TgM^ zHXV+n!{KzeC1j$Jgj3Ot5p7sGenLW~YD1>2l-u@08>l3wVyL5y7;T~A+d5R*)*8N4#v_EBbr{!B#iiCOPGXXVW*md>c7U?zkjPJ|5p1S z@c6F!U0&`UR^mzY=fi`8=k5M%6tx=PTlZc(JQa!7h)B|VI2Z~y;It~`$4S;nTzUyp zcwxq&i7m$C$#5_lOD>|DB8$Ovcrg)-M6!|TL^vH!MlvnBDKwP`qZSsM!6MDw z${Z1OU~upyYAOp!o5&uWzSpx6;&{=iXbb#>URO`mswG)XNx3DClUcQ6%R#HMrbjZiARb4r?bH{xBxE6 zX(JoUnu%DvC1S-AH84v5-z$pxPs)`WO8lGX{~Og|Cq1%-hoO1)~B1pCu;JPYn|Pu?r1ZD_CaC z=E~TZrdmeskoTcbK(WHO2vG{7e3W=WwY;8LF6N6%Fka+gEkJk{@+*|$ z3{-F_7(>dV;!r}P{YAF2Li*FP0U#|K)dH0xb$J3L7eWd@c7>dJ?7-^dSJWZE{SDEz z3EVdoouoomZwG4VBj{uExl)~YBt;^aKul8ENMa?M!lJQ4>U-ASx0WSn?j=CN0@!>m zTR?xD0c0vukEKh58R%ewEcKmKUaXF65CQcvZ-HB9lFAj>#$o%)u;z!;U6x>gu;LM* zDQ9eQN9x?1v1EKG2h#)Z;`ekFibQxi6(;@d=_-Qp5|IWf7PZ!(N!BvAu!8b|dU85b zDUzxYj!kkh(%_Gq#S-+>Q|203Fiuva{fhhg{JcJ!%~3DbC5}_Frw9j2vRqgISml6y zAdQM<$)E+T3o3w4wLxj|PzY$aiam-M2U!1Ck1P0hBY(HL{(m*G3#9b16>SqzYA?+J z{Ts=-lR32scY!8k{|n**lmc2bYauqtNd2DhK~hW&M}b~*MhVuYB(O3SV)T+&3B8xm z5~IEwFOPs<6-dW5E$l?WkdT(3p+a$uh9)7wSm-9%=nB}6%{^^ob#PSTFmTI z9vf><>Sti@$>&zf`XeymJ_=21N;k4uptynAE?9~5$TXK`8B>7rR(k*#nE_R4YM1mowx3LJ)Lx8fLeg^msPVYplwp8`3u3AhGS zO7#>Qvn)^)00D=oUyP(10p(m+_#ouw6i^eKw-c`mtBO7s$g{=A?Rw^tim|EzEW?+ zWb9R%a&Q-Zpx(8CnWvm;j*YxxyubgeWS5T25mdGB#kh zgtWnfB-jaAu-JHN%^*-asUQqNFilbtJOm{qvgWERl!X-(!FkmeWWdxSrJ-ezb*`|O zhh-7F3re#X^8zw)f$GsTy2B2)#ul(LEUcK<0Ncy2AWF%|=88IOjVlJ;Fl6R3k~JDx zW3|E?>QY9ip`io#pd@arHUE=_MTLiQY7h5_WMAP_blS=~T`C&c3`wp$Q-aZ$rfV`} zQ_Y|QAx+RE6LTiCyIf=`4>L0~vjFiC)Jz+A<7BoRDo#@s5bg*jnMxI{0BAARyLy4R z9M}}*VwQ*lpz7#4IiUi(=gKPN8gvvIi^(cJC?IFB{jWf_})eVPfSfG8}+A9Fp_FeKeer!PZ|pb@`qqbiY;arGe$fZ z51V0Vp9z@T(&20{6N;x3vBgv>VZ2RNZ713CZ|%<5Xow0#@41Zb!)AjX{rR;jDrIgqed(qjhVr0G7a-tIBo=| zr>B#_v=K>1ro*93YC6=i&CyWJqIEgjJFEou%Qj!Id;27&5iyMb=2ClV)5Gzpq|2ny z)V^`jSi8+bSCzfzViLC#{q3gc)v6^^vlWXX_5zCUC< zf&@e!50?H3m4_x+VKFkQJQhRNTDBdENVkJp1pNs55FLh;L267dL#&>_)M>G7R3UG% zg$6=h3Hh=I5IjlPRArU})|S@Lu1Kwt0-vK$ko-jodMvHW;bautE+m0#f)8|U>vQ&I7;w@Cjz^j zzyRfF@Z>{eTkZ&KIrIyF>bOtTn&^}S(qs=C*bSC~WYwiUB+V5ft5gS!)m78TOW2Yf z4U-)5KoID-0J^1EV19qqG-0Y(LKx1vfIcG)z-S_AyEUJkqea--O3;PKC`{%v0!l%; zi=f9SGWnFSgM$PtzSr~|ip{`7JyxnEsc54bmE01m2*hb9kMXiC|COcuH-3;U1|{>Y zkNitZZ<8NT0rtBhVO(ZtPtoIp;~fL@1cYap2%x}RG|{h!p3f~>hG2Yx+Zeo?P%>Iv zEtFvN&9k2XcSM;^1Tmd=PzbrVk^Vy>D!_)^a+RrZY5#}VpH%;^ZH!8pV=h3OXIZ9+VX#WI{J`x{)l2<^wPbLog@TPx#mY zuEZ~hg6u&9ew0LRINnEEFL>(78C!}47*&dyOm&sK^vW1-^7<-{g0d_pk{y+3y&erI zb5&3$oKV4`$&m;Zf~!!GGUu@kJ?tQ@G}kOwVKC5_VZJEjVBsO8F>oYMh8$vnvbi*~ zYh%?6=E;B58O)^pPyMViqMTI3?~7j$rZ^}x?Hk%JXeI5SHmp|E6Y7ZaZRK;A8$8K> zo3e<+D6ngEsULG;`1cB(X7x%Y33Es`H62XEV(?TTl{=L+rh}nSIFkt(iAW}to*=9o zeWnkSLCclO>MI8htgWq0E!t-kPl3)3P^TP-B#7&bE+J;EgjhP2iG-pim0-vcrbCON zx)K6pogba+?N~x0nV`AI(IrH!6@jY8vMDnY#9Tcr?A!Tzhe=R2%=7-6^L3ZBAqcJQA`U51Y&g6t3P5^l%Z~9g9ds z5@gC8T|(4a5r9){IuZs#MI&~18<~29+V7)u&vtbzA{>i^6XcmXx`fEJLSl~as}R_KFQMPF!yPd-8lO%i z_A;&_at&8g(Nugf6E#5AQJZsslhkpJ_ufP4P7if1BsHD5o6A7lS{cbqCS#=IAuzzj zMVqR_nYuD2?xJ+h40bFdoEYO05VKZ7IF-U0k2G4b3E#Mr(#;KYECG<(!$lx!t%${B z0@mEPdq8a>>cAab1P0;`18O`;^e-^PE8o_>r(zqBTl2TEXJA-4@r*QGJ3g^<=1LKI z3JG!z3Pk%aZLGYhsZg}$t>;*I8$DvXw`RsCIlO%pVA6;8r?D8$rV^oaFd0t3`zr}s zw-L?)EsW@N27jsOVz!0#H$0V!)#e*6zcge`-~N3-mUzjQL%8XVjKN~N|L!BiOBEgMNiqh{I+N7JqR|H5$I zuFZBx{eQord|kn1)8A#CO|X`=Nte$>Gu7E%S8~B%OAnXnRD0(Zcr(0y zU;tJ8sfEE!stBte{PKW#n0bfxOvVT3guFz^<(NTw7i4vZz()u%0oYX`p zUC;?(4uHu9?iW1sO{&}ymJmXJ!#6}ciaA<(X5$il%^)(YHuMQv9oz|@Vg(Nl9Z)XK z6*lIu|6ZD`64taa&8h3l(Dq;ws8q0wL#~OV{GjJSO@!HiCebnFj+yuDq<$3cU@%dT z0!c-a38VnK2ThW*wSZF6UItJH$%vS(vabkq(<(g43S=6Cl4~o9WC$dfu}7h_S8(%S z)8TxUp;}Ud$Pf#Vup8ep!NjukrSs%8hjnS|>@|?pU&P`bQn0ZulUCEK zph?SS4z;Hadde)6XerNf5y4~!Vj~XpVd;%6T@8*H1x(!6Hy*~hi_&1yz~T2H_xvjK zbodBR8ewCpPqq*m`re)3@sByLR3P62kY-(JAzpUS~oWz z0Hba}H!|cXGU?_Q$&HB;q7UHon1gKq76CGA0%hcCPk2T!!oYdQ#A+$W;Ion|V^$A3 zJ}OC8SO!gXspzgFLkWgLau|TS0F}aa1SC04p}=+=K}@a@j{lFQ{Ia6_vU+w?>aYKJ zF4;le7%V4?Ol4IaRLn3;j(L0~<3O#u9Cga*oz z0VubGZ#E^<$D{jZN?6Z|wLFA#)REEx1Y03d?>a~kAtiGK4jcq$z}u|CUBf6;rmpTM zsqJGIhBo0rO*Nc2iRzy#6+xRmUCJ@iEx8C+WtvKo?oD6_ zRC5=4oh_nMU4PW>Q5cT>Y0t+kzw2*`C$=FnIykX&VHS~OMjjibV)rNIf#Fu zlw1}FFFQ!T_|W9%aeb?2!dO0&O~w|@3^c${f}DBMu%@P`)3IPAW~9Q<49&!%?f2o- zEP5~&pNhG>T+q?#J+z`|?gj!Q2~o4=YSIj>`tR4duqccrG17NHcqzzRYWUufnO^{!pe zhiE-jxVF#+3PB2vNWpNd(etOHKGak?LP+4C#l0MjZf;l1Iaio%%;gpD;R;V@~3e~@70yU0(~zd!iQya znz$$|;e8tOdolgLpGD)QDFxrd=0TH-q+vR|TaYk5>Xor!kf-!n!6;YFr^<{oM zkRT+SirYc<++v9$I-$4-Rpmq3&?u6CA6tOd~fE262sEl!Z0pmNlCL{3+Tyc5TF*h!o zWF^-bcpT#cR*)03h5%0FMF{3*>)6}Lm!RzANxgTyS=w;fLZ+Ly3KfxX7?%^x*qWRO zjSxw~WxT$_tO5~QSgJx8DUa83sEgT%uYIq!8sJGJal|7^Pa^PYakYw_O>z)-rKp^( z<{?}{g0bDI?F~3s`jn!Sy;lsBBARt+%2DEM_RvAZ*0OgP8NlB50CdTp}l&&gVqDj8AH7;8bg>q#%h|{vDNl3ssnvAssrbWo>MtPmq z$U%sv|G^Eu2hvmjl7WLsP8 zURTM63~Q$q=6Mf zg0qI6P)Ehet}{oEbwB!B+f5%C;_}ZA&z?Ddc<8r^&C(b&{RUMzHppq7AEGpe|MV3? z;3i$GDb-d2h zb;ua%;(VU%=GGql1FCw{Mh-#u9&|?qr&#Zz6ayoFK`ESNfjpcw7#j&2n-Jr$#<^4l z=ko2Jm*uwIrKM#aPpX{9OB&~K@+#%gewk^jTCn|JTvo)t!^Qh~5bz-I_CnzCJD7x5 zMu>z5x6cL-jUqjU(vfQ$N{Rke6?=aE-P_x2ue5gv0zcJ7{wJU89ceQ?(Qz2|^dFbC M{#~sC0Ryl8|7j_g$N&HU literal 0 HcmV?d00001 From 748913ac832ab663b95c02feb60e068477cee7b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lucas?= Date: Thu, 3 Oct 2013 17:59:44 +0200 Subject: [PATCH 3/5] Update phpunit to include basic code coverage information. re #96 --- phpunit.xml | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/phpunit.xml b/phpunit.xml index 066829b..a1b1ab4 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,7 +1,23 @@ - - - test - - + + + + + ./ + + ./resources + + + ./test + + + + + + + + + test + + \ No newline at end of file From 934c8012ab73ebcc9a814f679e21c4b62085769b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lucas?= Date: Thu, 3 Oct 2013 18:27:36 +0200 Subject: [PATCH 4/5] Add new test on GetBookByAuthor, also test pagination. re #96 --- test/bookTest.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/bookTest.php b/test/bookTest.php index 747e593..32e36f0 100644 --- a/test/bookTest.php +++ b/test/bookTest.php @@ -39,5 +39,25 @@ class StackTest extends PHPUnit_Framework_TestCase $config['cops_recentbooks_limit'] = 50; } + + public function testGetBooksByAuthor () + { + // All book by Arthur Conan Doyle + global $config; + + $config['cops_max_item_per_page'] = 5; + list ($entryArray, $totalNumber) = Book::getBooksByAuthor (1, 1); + $this->assertEquals (5, count($entryArray)); + $this->assertEquals (8, $totalNumber); + + list ($entryArray, $totalNumber) = Book::getBooksByAuthor (1, 2); + $this->assertEquals (3, count($entryArray)); + $this->assertEquals (8, $totalNumber); + + $config['cops_max_item_per_page'] = -1; + list ($entryArray, $totalNumber) = Book::getBooksByAuthor (1, -1); + $this->assertEquals (8, count($entryArray)); + $this->assertEquals (-1, $totalNumber); + } } \ No newline at end of file From 0de883de67abcda5216996cce5fa4921b1d792c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lucas?= Date: Fri, 4 Oct 2013 08:17:42 +0200 Subject: [PATCH 5/5] Add new tests. re #96 --- test/bookTest.php | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/test/bookTest.php b/test/bookTest.php index 32e36f0..c439563 100644 --- a/test/bookTest.php +++ b/test/bookTest.php @@ -59,5 +59,42 @@ class StackTest extends PHPUnit_Framework_TestCase $this->assertEquals (8, count($entryArray)); $this->assertEquals (-1, $totalNumber); } + + public function testGetBooksBySeries () + { + // All book from the Sherlock Holmes series + list ($entryArray, $totalNumber) = Book::getBooksBySeries (1, -1); + $this->assertEquals (7, count($entryArray)); + $this->assertEquals (-1, $totalNumber); + } + + public function testGetBooksByTag () + { + // All book with the Fiction tag + list ($entryArray, $totalNumber) = Book::getBooksByTag (1, -1); + $this->assertEquals (14, count($entryArray)); + $this->assertEquals (-1, $totalNumber); + } + + public function testGetBooksByLanguage () + { + // All english book (= all books) + list ($entryArray, $totalNumber) = Book::getBooksByLanguage (1, -1); + $this->assertEquals (14, count($entryArray)); + $this->assertEquals (-1, $totalNumber); + } + public function testGetBookById () + { + // also check most of book's class methods + $book = Book::getBookById(2); + $this->assertEquals ("The Return of Sherlock Holmes", $book->getTitle ()); + $this->assertEquals ("urn:uuid:87ddbdeb-1e27-4d06-b79b-4b2a3bfc6a5f", $book->getEntryId ()); + $this->assertEquals ("index.php?page=13&id=2", $book->getDetailUrl ()); + $this->assertEquals ("Doyle, Arthur Conan", $book->getAuthorsName ()); + $this->assertEquals ("Fiction, Mystery & Detective, Short Stories", $book->getTagsName ()); + $this->assertEquals ('

The Return of Sherlock Holmes is a collection of 13 Sherlock Holmes stories, originally published in 1903-1904, by Arthur Conan Doyle.
The book was first published on March 7, 1905 by Georges Newnes, Ltd and in a Colonial edition by Longmans. 30,000 copies were made of the initial print run. The US edition by McClure, Phillips & Co. added another 28,000 to the run.
This was the first Holmes collection since 1893, when Holmes had "died" in "The Adventure of the Final Problem". Having published The Hound of the Baskervilles in 1901–1902 (although setting it before Holmes\' death) Doyle came under intense pressure to revive his famous character.

', $book->getComment (false)); + + } + } \ No newline at end of file