[Libreoffice-commits] online.git: test/data test/httpwserror.cpp

Ashod Nakashian ashod.nakashian at collabora.co.uk
Mon Jan 16 06:27:18 UTC 2017


 test/data/corrupted.odt |   41 +++++++++++++++++++++++++++++++++++++++++
 test/httpwserror.cpp    |   34 ++++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+)

New commits:
commit 42b11e21afdcfcd1df837070b0068b8073ef62a6
Author: Ashod Nakashian <ashod.nakashian at 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 <ashnakash at gmail.com>
    Tested-by: Ashod Nakashian <ashnakash at 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ʼnk\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
+ at 6\00UT
+\00j\A76Pm\A76P:\A76P\DDZM\8F\DB6\BD\F7W
+\DA-\CB\EB\CD\EE\BA\F1E\81\A2\92h\92s at 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 at 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 at 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 at 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");


More information about the Libreoffice-commits mailing list