test/data/corrupted.odt | 41 +++++++++++++++++++++++++++++++++++++++++ test/httpwserror.cpp | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+)
New commits: commit 42b11e21afdcfcd1df837070b0068b8073ef62a6 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Sun Jan 15 23:14:15 2017 -0500 wsd: unittest for document load failure validation Change-Id: I798fa411ab0fcefa6ae1d85e69d8d77f5ca5c919 Reviewed-on: https://gerrit.libreoffice.org/33142 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/test/data/corrupted.odt b/test/data/corrupted.odt new file mode 100755 index 0000000..01d3b38 --- /dev/null +++ b/test/data/corrupted.odt @@ -0,0 +1,41 @@ +PK\00\00\00\00L\90:^\C62 '\00\00\00'\00\00\00\00\00\00mimetypeapplication/vnd.oasis.opendocument.textPK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/statusbar/PK\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00'\00\00\00Configurations2/accelerator/current.xml\00PK\00\00\00\00\00\00\00\00\00\30\00PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/floater/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/popupmenu/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/progressbar/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/menubar/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/toolbar/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/images/Bitmaps/PK\00\00L\90:Ó¡\E8Q\CB\00\00\DA +\00\00\00\00\00content.xml\A5V\C9n\DB0\BD\F7+\E8\8Df\EC\B4@\A2\DA +$=4\90+CR6Q.*IY\F6ß\8BE\D3I\94\F0\C52\87\EF\CD\DF \97\F9\CDN\F0bK\B5aJ.\CA\E9\E4\A2,\A8Ä0\B9^\94\8F\AB_઼Y~\9A\AB\BAf\98VD\E1VPiVÒºo\E1\D8\D2TqvQ\B6ZV +f*\895\95Åj\A8\ECYU\8E\AEB\ACh1v\CFG\D38g[\BA\B3c\C9{\C2E\CF\E3#p\CE&uc\C9\EBD\CD\E9\B5K\DEj\E5T +\B2\ECE;\CE\E4\DFE\B9\B1\B6\A9 \EC\BAn\D2]N\94^\C3\E9\F5\F55\B3)a\9CpM\ABy@ )\A7>\98\81\D3\C9\F6XA-\9B\9F\C7\E6)\C9V<S=ZdÑ«\AA\9A\EDztGl\D7\D2\E0 +Ò£{#\80O\CB{IÆ\F7\92\E4\\81\ECf\A0&W\F0\DEM\86\9F\FB\BBc/h16\96ÇH\855kF/3\A2s\BER*\A5\EA q\83\86tg_ag\E8\EE]x\A7\99\A5:\83\E3w\E1q\9CW\E2-\D1n +Ðo\D3\D4\F8^3@\98\C18\9D\C0\86 \BA~\BA\BF{\C0*\D0\CC>&\8DE\F2\A8\8C\F6E\\E97\A8i\A3\B4M\C2\D4\E3LW\ADY\8ABj\94\C28\A4\99\C0C\AC\DC\F4;z\CA\E7\D4i\8C\F2\BE\ADS\92\87\F8t\D7P\CD<q_9 \8C[\A5\AB\A6j\AA\8C\9B\E7\C0\CC.\8FY\B9\ECo\8A\D8e&C\EDn P#L\A1\98\9B\E5<\EE\F8d.\E2\D8\E7\B1(Wh\A3\9A\96\85\DB\DA=D0\BE\EFgJ\F8ß\C1\BFiW\FCqh\F9\86\9F/\A8Q\E6\FB\4\96Åk\8Fk*\9D0\AE\91\F5\C1\DF\D10\8B\DDV\DF"\CD\FC\FD\F0Qj?\8C\BF\91Pom:f\CCY\A1%A\9CH\9A\E2\F1vP\94S\D8M\CC\DEX*\CE\C9\ECP\D5\C1r\9F\B5\E1\C1\8EZ\EBY\86A\F0\935\EE\B3"\FB4\F0\EF\87\E5<\BC" \FD׺\A7Rr\F4\DAXa\A6\E1hTk\DDULw\87_\94n\85\E9(\C0-ç±\DA%\A0\A4O\F7,g\AB~\D1\E7yq\CFv\F23\BEzB\86Uk"%("\F1\C1\9D\ACi\92\D7.\8AO\EA^\A6\CB\FFPKÓ¡\E8Q\CB\00\00\DA +\00\00PK\00\00\00\00A\BFA\F9Ǫ\CDi\00\00\D3(\00\00 +\00p\00styles.xmlSD[\00\A4\00\00\00\00\00c:\BCcd`ia``0`\80\00 fd3YE\81Ä\98d\8F\DD\DF +\B7\9AKΪ}Ë[\8E\91\89\81\81\89!\82\81,\AD\C2\F0\9FQ\AF9 "5\8C5B`J"\C6S\00 +@6\00UT +\00j\A76Pm\A76P:\A76P\DDZM\8F\DB6\BD\F7W +\DA-\CB\EB\CD\EE\BA\F1E\81\A2\92h\92s@K\B4\CDF"\92Z\DB\F9\F5\92\A2DË\AD\8D\B3=8\87\00\E6\BC\F9\E0\9B\E1\90"\F7\CD\DB]\91\8F\9E\88\90\94\B3E\94\8C'Ñ\B0\94g\94\AD\D1\E7O\A0\FB\E8\ED\E3Oo\F8jES2\CFxZ\84)$\D5>'r\CALÎpU\82\CD9\96T\CE.\88\9C\ABt\CEKÂ\D2\DCGÏ+;b\8C +U7`_[\91\9D\AA\AC\B1\BAx9ܳ\FBÚ\C0Û¡\CA\9C\FA\EA+>Ty's\B4\E2(\E5E\89\EDD\B1\CB)\FB\BA\886J\95\F38\DEn\B7\E3\EDÍ\8Bu\9C<<<\C4F\DA\9C6\B8\B2\B9AeiLr\A2\9D\C98'\B1\C3D\E1\A1\F1i\AC\AB\8A%\83\A9\C1 +eU>\ADW\C4Óº\87\9At\83\C5\E0\DA0\E0\C3\F4\DEd\C3\D3{\93\F9\BAV\9B\9E\9C\DC\C7@h\FE\FB\F0\BE\ADQ \F5\A5\B1T\A5\82\96\83\A7iѾ>\E7\BC U+\D8jÂN&\B3\D8\FE\F6\D0Ûð \9E\9E\84\A78O\C6y" +pI D\9Et\99:\B4Ð\EE\B5|Rr\A1\9A@V\C3\B03m\BCd+ܸ\A4H+_\BE\85X\AF\84X\AB\BC\8AFu\A3\F3\9A\EB4zt\9DtÅ¡\8B\AEpJPF\D2\>\BE\B1+\A0\D9\DF:\CEE\F4 ox\81\93h\A5\EE \CD\F7N\C5g\F4)\CCv\F4Ù\FE4\D8\F9\97\\FE\DA\C1\D9\C1ht`Z\E3Ñ0"($V\D4\F6ZDIU +\A5\FF\84\D5\FD\F2\h\BF,\E4\C6\FB]\CB-\95\F2"\D7,\C39}\C4L\8E>\BF\EB%\E56\80\B9\97\8A\97DVg\B57Ý{\8F\FBʰ\B7\FB\BB\8B2#+\\E5\F5\AE\EF,\D7!\AD.74\8D\B6\FE\8DJC( +\A5\F7\BE\B9\DC\E0\8CoØD\A1\DD"\9A\8CoR\883 \DCw\84 +3\82}\8C Y\E2vQ\B4\E1\82~\83\D0q\AE\A1\D3\FB\93\E0'Fz \85e;\D4\EA4`\B3\A6%\87yl\A9\DA {.Y\E1\z\F9.\B1\C0\86!\9F+\D2x\84+ŵ(\9An\A18/7M\D2MKA0\EC\F9RAÊ\93\E8Æ«c+x\EA\B9@jyP\94eD\F7*}~\F3'\E3\82t1\C292\CDK\A9\EB\A4?\EC\AE\E3>\9AM% \D0\C0tV\8D\F3\94\E7NJT\B0\93\AC\B8\8DH\D2oi2-\9B9\E4D\C1æ¾\C1Ld\EFMB\AB h\C0\98*\B6B}\C8É®\B7s8(\E2!\95\DDL::\99=\98\CCf_n\83\F3g(\C7Y3Hy\C5 \FD\8C\D5m\C2\98\E4\B2b\A9\AA\AC\C1-\88a\C2l +\8C\9C\AF\97=\94QXL;\81\8DgvÛ\E8a\9D\94x\ED\D5\E7w$\D3\E3\BFg\B7\B9 \DDÚ¢K\F7Q\BFX\C6FS\81(?\AB\C4-\90n\AA)0eH]\BE\A7G\A0\B2\92\9Bä4\DF \FEJÍ\9F.\FB\89\B2\E4B\97\A0\CE/4(HV\8EK\A9\8B\E7R\C7H\F0m\C79\8Ct\C3WBJ\A4\F8\9A\A8\8D\FE\D0\C5~α\EF\D0\D6\D0G(\DD \8B,\EA]\93\B5 ͱ\94\D4m\D4W\C4T˧\82J_D\DFv;\93#\93 +\B1\D7K\9455\E7`\AE\96 \B8vd\F1N\D4jj(\A0\D7ÈfK\C8"\FE$8\F3\D6}/0\D0|\97\A30\87L\D3\E2>\C1\C0\97\E9\E4Ëg\FBS|\F6\B5\BD\E8I\90\EBRo\83\B3\A9\D9\DB\F1%WJ\E8a\87L\A6\B5\C8\87\D9\99\D9q\BE\C5{y\AE\FFxÍ¥>vZ\CA,\B4\E4\9F\D96\826\9E\D16f\BBÍ\B4\86\A8\87\86]\E6x\EF%g\E4\8B/I\FDwg\F5tFO\F7=\ECE\DF3\8F\9Ak\93˦\9B\C6dx\E4\BF\E3R\B7\F1\98U\E0g\AE\ADv\F5\AD-s\B3e\EF]\CC\E1N6\9B\96\91\98ó»\99\F4\AF\B7\D0VÝi +8\B2\C0\F9\CE\FB\C3e\86\92ZP'\E8\DC\FE|ä \D7.g\F8\9C\88w?0\BF\D4\D8;\99\DF\94\AC\E7W\B91\CF+e\8F\FFGT\FCm%Q\98\93'\92\D7p\A0\80L4;KU }+\85\A1\A373\D7\B4V\EDN\DDqI\CD9 \B84$\C4}\BF\E0%\88!\95k\A6oVBf;\90Ú¶\\C1\A1\87oI\86\96{\DB*\E0\B4yÎS\B2\F3\AF\97\D2\DDk\B7\CA \D3\D4|*-"\E4K\EA\F5\97\93\95jUZ\9E\83\93i\9F\99\9E^\D3\C9x\92\BC2\EDK\98v\82g\FA\E6Ê\9E\DE\F5\DD:<\9B\F1\A7yve4\DFNg=<\B7\92\D1V\F0\E2L\DF^\D3ww\F7=L\B7\92\D3V\F0\E2L\BF\BE*\A6\A7\E3\C9Mx;\F4%L;\C1\8B3}weLO\EF\C3Û¡/\E90m/\CE\F4\FD\951}nÓ\A0\C3\F3\ED\FFÒ¤\AE\8Cæ»>\9E[I\87h+xq\A6\93\C9UQ}3\9E\CC\C2\FB\A1/9\A0\DA .\A1\FAP\E4\F3ϸ"\BEDÙ\AE+a\AE\C0G\8D\00Õ\C8+Î\FEJER\CF\D8>\E4=\E1\BC"\FA#\D8:E\E9Q`0|\FB\E5\AC_8\B4=\F74\AF\E7;<B²\BE\00i8@g^3\D2Fr\D3\FB\DDo\9F?\CD]\EA\C3C\FB^b\A76Ò²\A0s[\CB(K\85\F9\83}\F8\F3\DEz\8D\B5\F6\89W_ÌM\9A"'p7k\C86\DECv.>\94E@\C77\9D\80k +\E0C!.(\86\EB\CCq\A1\A6*\EA^x\F5\v\85\87\83\82\AE7n\D4:>\F9,j\CB x\876Ī\EA;\CF\F6y\BEHR:s4\D3\DA3\81\D2\FBÖ{lCK37x\8DI&I\00\83W\FA\D1+\C1Ù¿\95T6w6\A3v\\C0Ò«Oon\9F\CC3Ü«\89\F9\F9ϵ\A1\EC\B8Im\D6\CFC\E6G\EC\CF\D4<6\D4\D6\D1q\E1Ô\CB\C6F\E3\ADÔN\BE\F0\F81{\E7\D5o\C7|\FE\9B\C4\C7\FF\00PK\00\00\00\00L\90:8RX\9D\FE\00\00\FE\00\00\00\00\00meta.xml<?xml version="1.0" encoding="UTF-8"?> +<office:document-meta xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:ooo="http://openoffice.org/2004/office" office:version="1.2"><office:meta><meta:creation-date>2009-04-16T11:32:02.64</meta:creation-date><meta:editing-duration>PT00H00M35S</meta:editing-duration><meta:editing-cycles>2</meta:editing-cycles><meta:generator>StarOffice/9$Win32 OpenOffice.org_project/310m6$Build-9391</meta:generator><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="0" meta:word-count="0" meta:character-count="0"/><dc:date>2009-04-16T11:32:06.21</dc:date><meta:user-defined meta:name="Info 1"/><meta:user-defined meta:name="Info 2"/><meta:user-defined meta:name="Info 3"/><meta:user-defined meta:name="Info 4"/></office:meta></office:document-meta>PK\00\00 L\90:\84×\A3|\00\00\00\F8\00\00\00\00\00Thumbnails/thumbnail.png\EB \F0s\E7\E5\92\E2b``\E0\F5\F4p \D2[8Ø\AC\AF\CA\E6\B7\98\F6{\BA8\86T\CCy{i#'\83Ï +|?\FF?\FD\D2\E9t\D0C\BC\E2Ãw\8D\93~\CA2\AC\9F9K&xrrV\91\8Fo\DFÊ\86\A6\96\CBÔ_y2cTpTp\C0\C5\CF\E5\B2\FD3 +\FF*L\D1 \9E\AE~.\EB\9C\9A\00PK\84×\A3|\00\00\00\F8\00\00PK\00\00L\90:{e\D2\FF\00\00\96\00\00 \00\00\00settings.xml\B5Y[s\DA:~?\BF"\E3w\B9\B4\A7a:\86\94 Í\BE {\9D\C8Z\8F$\F8\F7g%C&\E5\92l=\91\D8\D2Þ´\FB\ED\B7\F2\F5\D7E"N^@i\8E\F2&8;\AD' #\8C\B9\9C\DE\8F\A3v\E5K\F0\B5\F1\D75N&<\82z\8CQ\96\804 +\C6\D0}BÛ¥\AE\E7\AFo\82L\C9:2\CDu]\B2t\DDDuLA\AE\B7\D5ß®\AE;e\F9\93\85\E0\F2\F9&\98\93Ö«\D5\F9|~:\BF8E5\AD\9E]]]U\DD\DB\F5\D2\E5\84OU\95\AF~\AB +_\D9 +\B91N\D9y\ADvY\CD\FFNVF\BE \CDy\D0X\C7a\ED~\E3z\A5 \FF\A9p\89\8D\CD\C9\EA\B15\ED& \95\F5\F3ר\BB\F6\FD\BE\E7'\AD\B0\A6\C1\FA\8DY\A6\F4\86K4j\D7\D5m \87K\ED\C2\C4x\FB\C4c3\DB%\F7\E2\E2\FC\CB\E7b\B2\FF>\9D\ED4\FA\FC\D3\C5\E5\D5qÂ3\9C \A6\FC\82Ö\C9)\E8 +cDL +\A328NGG6\CE5\DCc \FB\A4O\98\D0\8B\AF$,\ADp\C3\E2\EDX\EDN.\B7\87\CAB-\8Bx'\DE0UE\994l\9F\92\FB\EF\CB\D9\E5\E5\F1R\F7\C9E\ADv\B4\A9\9A\8F\94^&Nj\D9%\ED\84\F6U\87-\BDO\85D7\D1L\F6U\DE\DF\C7\C9\FE\85\98\8CH\D2f\9A\CDPá.[bfZ(\B2DnVsYÒ\88Ï¥\95\F3v\\DA,2\A8v\DB~V;\D2\FA\8E\82\80\C8@\DCV\F4\E0\D3w<|+\FB^\AF\90j\F7ê\F7\D0\FCA\A6\98\A1\8E\FC\91f\C6q\9F)6b\94\CDÃE\C9J\C7\F9>\A4\80% \B0\89\9EedF/3\B6OuI\83\F8\97\83\88\F5C\96\8CA\BD\E3Lm]\A2\\8Fi\CCÌ®\BE\B5\CE\C5\81\FA\96\A4f\D9g~:\EET\A2\826WÚС\94\A6#}\86\8BØ\A2\AA\D5\C2$U\A0-g,\DE\\E0\86ä8\DE\B8n\E4'\DEV\84Í\A4\82\FE\F6T'}\96\82\B2z\86`\B2\CDvX\86'T\F2\E7z\93 \85\8FX9?,C\F0\94\C5+^\DAWh\B6)\9F\EE`\B9\A9\85i\F8|\D9ä©eP=\D0d\87\82\EC]\DAF\B5\C9\CA*0f\F3\F5\94\96-\A4^\86\C2KtH<\A8\9D\E9\FE\C1S\CCáQ\872n +&\9F5\DD"]\8B\89(\AE=\FAJ\F8PJ4N\C3\FE\BEp$\BCu\91\C5`1J\B1\95\E8\E5 \82%\AB\FE?BW->N\9Bt}[\D0qK&\BA\E4\91\BE\A6\A9X>jP\B7̰\F2Å·-\C5\F0YpC\F6?\F3Û\9El \D4>\E8\B4U\F2]\E0\98\89\DB\D5Å%6>\DAAG\DF\D1y\87\9A3\D9\CFdd2_e +>\95\94\BCC\83i5O\CD\F1\A7\D3< +\F5+\AD eD\B5 +ñ¢¥\AA-\96\AE\B9\FA\88c+S\8A\8E\C9&\B5F\FB;\C4LE[X\93_H\80\97\AB\D05\EA\9CVZ\98*\96\CEtGv\B9Þ\9B\CBp\E3дXj2\B7\8A\CD{\E3\FFtOZ\AA\E0A\99\83\B2\CE\EF\00|p\A9U\EFz\D8?'\A3\CD\85\84P{\D6<5\82\85y\A2\F3\EBI ++Õ&\AC\A1'\E2\95\E7\F7@&F\DEH\A4\BB\BB\F15\E9.\C3+\FA\F9\89\94\E5|\E0\C8\A6\EB\E2\ED\FB\ED \9A\A1!VX~\D0^]Z'Z\EA\C7'\A0ź\A3,\93\A39\B5\8D^\8E*\BDê\BA/\F9\DF-\B0\BES-\8F8w:h\FCm1\81\F0\D0\F8~\EF?4\CF'L\C6;f\F9"\97\B6\EE\E0d\DA\F0\C9Ò\8D~\E2fv\CFd\C6DS{\F6\D3#\F4\00\ECp\F0#\CC[\A1\C7\CA!`\A6[\F3?\E5\B3Bg\EB\8B\FD\F2gÉ\BB\9E\DD\F3\E9bF0[Q\A0QdÖ¦"}\C1\E7U\D2\EA~d +M=Ofr\EFmb\D9Y^\AC\BB[\9A\E3.d\FD \CF4\E9F\CF\BD\B4{\B9\A0\BC\8D\E0(\A4\C9\EDC\DB/\C9\DD%wu\EB\D3qu\DFG\F5\C6\FFPK{e\D2\FF\00\00\96\00\00PK\00\00L\90:e\82H\DAD\00\00a\00\00\00\00\00META-INF/manifest.xml\B5\95Kn\C3 @\F79\85\C5\DE\D0fUYq"\B5RO\90\80à±\C4O\CC%\B7/\8E\94\C4m\A3\AA\A9\CC,xo<\C3js\B4\A6:@D\ED]Ë\F9\AB\C0)\DFi7\B4\ECc\FB^\BF\B0\CDz\B1\B2\D2\E9\90\9AË \CA\FB^\A7-K\D15^\A2\C6\C6IØj|\00\D7y\95,8j\BE\AEoF\D3zQ\DD\C0\BD6P\E7\85\F1T\DDd\D0iY\D3)@\CBdF+I9Nqp?\BB\F8T\C1 \8E\C4n\BB'\A7ZN>\F7É:HÚ·L0\F1P \F7)o\DE\F5zH\F1.\92\A4\84;\CB\E0\A5R` O}*\C58\9E<'\B7\B8\AB\88\A07^\82R\C8F*\84\8F~\88\80\E5nz \BD\9C\BC7\C5\E0\DA\CAP\BCj\B22`QÇ\EC\EFm\93\AB\87'\CD\D5T\F0\B7\94\8F +J\8C\B5z\9E\FD\F4\BFb\FE\9D\8Bt2\80\B3c-\90\9C\AD\F1l\F7\C9\EE\9C\D4]\86<\B8an\F8\BC\89\A2\FCN^S\BB?\9E\C9\F5'PKe\82H\DAD\00\00a\00\00PK\00\00\00\00\00L\90:^\C62 '\00\00\00'\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00mimetypePK\00\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00M\00\00\00Configurations2/statusbar/PK\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00'\00\00\00\00\00\00\00\00\00\00\00\00\00\85\00\00\00Configurations2/accelerator/current.xmlPK\00\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\DC\00\00\00Configurations2/floater/PK\00\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/popupmenu/PK\00\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00J\00\00Configurations2/progressbar/PK\00\00\00\00\00L\90:\00\0 0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\84\00\00Configurations2/menubar/PK\00\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\BA\00\00Configurations2/toolbar/PK\00\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\F0\00\00Configurations2/images/Bitmaps/PK\00\00\00L\90:Ó¡\E8Q\CB\00\00\DA +\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00-\00\00content.xmlPK\00\00\00\00A\BFA\F9Ǫ\CDi\00\00\D3(\00\00 +\00\00\00\00\00\00\00 \00\B6\811\00\00styles.xmlSD\00\A4\00\00\00UT\00j\A76PPK\00\00\00\00\00L\90:8RX\9D\FE\00\00\FE\00\00\00\00\00\00\00\00\00\00\00\00\00\00\002 +\00\00meta.xmlPK\00\00\00L\90:\84×\A3|\00\00\00\F8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00V\00\00Thumbnails/thumbnail.pngPK\00\00\00L\90:{e\D2\FF\00\00\96\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00settings.xmlPK\00\00\00L\90:e\82H\DAD\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Q\00\00META-INF/manifest.xmlPK\00\00\00\00\00\00\FF\00\00\D8\00\00\00\00 diff --git a/test/httpwserror.cpp b/test/httpwserror.cpp index 3ed8421..bd31291 100644 --- a/test/httpwserror.cpp +++ b/test/httpwserror.cpp @@ -36,11 +36,13 @@ class HTTPWSError : public CPPUNIT_NS::TestFixture CPPUNIT_TEST_SUITE(HTTPWSError); + CPPUNIT_TEST(testBadDocLoadFail); CPPUNIT_TEST(testMaxDocuments); CPPUNIT_TEST(testMaxConnections); CPPUNIT_TEST_SUITE_END(); + void testBadDocLoadFail(); void testMaxDocuments(); void testMaxConnections(); @@ -76,6 +78,38 @@ public: } }; +void HTTPWSError::testBadDocLoadFail() +{ + // Load corrupted document and validate error. + const auto testname = "docLoadFail "; + try + { + std::string documentPath, documentURL; + getDocumentPathAndURL("corrupted.odt", documentPath, documentURL); + + Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_GET, documentURL); + auto socket = connectLOKit(_uri, request, _response); + + // Send a load request with incorrect password + sendTextFrame(socket, "load url=" + documentURL); + + const auto response = getResponseString(socket, "error:", testname); + Poco::StringTokenizer tokens(response, " ", Poco::StringTokenizer::TOK_IGNORE_EMPTY | Poco::StringTokenizer::TOK_TRIM); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), tokens.count()); + + std::string errorCommand; + std::string errorKind; + LOOLProtocol::getTokenString(tokens[1], "cmd", errorCommand); + LOOLProtocol::getTokenString(tokens[2], "kind", errorKind); + CPPUNIT_ASSERT_EQUAL(std::string("load"), errorCommand); + CPPUNIT_ASSERT_EQUAL(std::string("faileddocloading"), errorKind); + } + catch (const Poco::Exception& exc) + { + CPPUNIT_FAIL(exc.displayText()); + } +} + void HTTPWSError::testMaxDocuments() { static_assert(MAX_DOCUMENTS >= 2, "MAX_DOCUMENTS must be at least 2");
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits