[Erp5-report] r13958 - /erp5/trunk/products/ERP5OOo/tests/test_document/
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Apr 5 09:35:31 CEST 2007
Author: jp
Date: Thu Apr 5 09:34:37 2007
New Revision: 13958
URL: http://svn.erp5.org?rev=13958&view=rev
Log:
new repository for test documets
Added:
erp5/trunk/products/ERP5OOo/tests/test_document/
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.bmp (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.doc (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.gif (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.html
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.jpg (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.pdf
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.png (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.ppt (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.py
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.rtf
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sda (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdc (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdd (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdw (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxc (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxd (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxi (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxw (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.txt (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.xls (with props)
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002_ind.html
erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002s.html
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.bmp
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.bmp?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.bmp
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.doc
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.doc?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.doc
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.gif
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.gif?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.gif
------------------------------------------------------------------------------
svn:executable = *
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.html
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.html?rev=13958&view=auto
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.html (added)
+++ erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.html Thu Apr 5 09:34:37 2007
@@ -1,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
+"http://www.w3.org/TR/html4/frameset.dtd">
+<HTML>
+<HEAD>
+<TITLE>þÿ</TITLE>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<META name="generator" content="pdftohtml 0.36">
+<META name="author" content="þÿ">
+<META name="keywords" content="þÿ">
+<META name="date" content="2007-04-03T14:42:32+00:00">
+<META name="subject" content="þÿ">
+</HEAD>
+<FRAMESET cols="100,*">
+<FRAME name="links" src="TEST-en-002_ind.html">
+<FRAME name="contents" src="TEST-en-002s.html">
+</FRAMESET>
+</HTML>
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.jpg
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.jpg?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.pdf
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.pdf?rev=13958&view=auto
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.pdf (added)
+++ erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.pdf Thu Apr 5 09:34:37 2007
@@ -1,0 +1,146 @@
+%PDF-1.4
+%äüöÃÂ
+2 0 obj
+<</Length 3 0 R/Filter/FlateDecode>>
+stream
+xÂÂSÃJÃ@¼ç+úì!¾ê-iÂt&¹üð 8Ãê%¨BxK½ªz/¢>Â%JZ(\kToÃu}VÂwê½äø\_¸4÷½ê:ÃâåIÃÃPÃjyQ'Âh1bÃòÃhÃ*I'q)÷/Ãv[&GgÃ@Â~¯è%ÃÂÂÂ>"FÂ¥/Â)ÃL`Âe&Ã¥ÃÃú}Ã$3Âf`rÃ
´4Âe²õ»L>7Â
Ão| 2K\»5>ÂÃLÂzÃÃiêÂ]"»ÃµzWe+ðJNzBñð(ÃX96Df
+/C2ÂDt®êÂza 7äúj zª¬ÃÂRÂLYÂÂþaMâÂÃóKÂ/Â@îÃîõVÂÂM|ÃÃU»|Y7½ÂìH 4Ã{õùMÃ_%ø ·"PæèÃçÃÂën§ÂGb$kPUqÃaÃ]Ã+Ãt´dÂÃ}ÂtøÃ¾òS½7ÃÂ&¯æÂ9ü±zÂ]ÃÂÂÃ
+endstream
+endobj
+
+3 0 obj
+381
+endobj
+
+5 0 obj
+<</Length 6 0 R/Filter/FlateDecode/Length1 17020>>
+stream
+xÂÃ{ xÃÂà «zU}ç¤ÂÂJ:iÂ,@¢Â
ÃÂ.KBF-uKj]-º[ÂðÂÂÃvHDOÂÂ-ÂÃÃ'ÃÂÂqlÂgb¯Ã¹MâÂÂù²ûÂ| Ã
þïUµÂfvçÃýFåîzõÃÿþûzÃ8 ÃÂ0ò´÷ùmïÃÂz!ÃÃ>¯þcqÿÂñÂÂþ·þtïÃÃQÂ9ÃÃ;ÃQüÃj !ãÃì
+øüÿÃá²ÂÂ`?ZÃ+Â¥~5BÃ`aW_tÃÂ1y³áyWo¨Ã·¨5ÃóixöôùvüÂ_°ÃÂà Yì÷õ¦ÃÃ#-¹E¢ûPþ
ÂVLÂõÂp` JÃAheBü=0ÃÃEþ0TÂgs¼JÂÃêô£Ã,X¬6»ÃÂà JLJ^Âþëÿ1:A,:ÂÃÂëàn´@§`ü[´ÂÿÃiÃ3ïóötÂÃ8Â\L aÃçÃ~ðð|
+µÃõkø-z=ÂÃbÂÂ`Ã@wÂBçðrÂÃoúë
´=ÂÂ$cþ-tà Ã{pÂìëÃÂè}æÂè4ó.àqÂÃèøwÂÂnÃÿK¯?¢ÃQÃd®ÂWeJà çÂÂý´<Ãä0¸w0Â@BÂy¯Â
Ã}¨ÂkÂ
+Â^ÂT>YÂà ôyÃ[ìçÃ.Âyèoþ'ÃJà ·8]ÂðÂ/£Sü%ð¯ uêu*£RïFðº3©ÂQ+ÃÂÂCÃAuÃ{@Ãó*ÂÃ,Ââ0ÃfTû'<wmÿysjÂû¦GQP¨aÃ8"»q£aÂÃoÂà Â&pÂfÂÃHÿõ§-þ:ý¾aÂ8ñº·RÃêm¹¦M0$O0
óÃÃ<b§é8ÃàF.ÂÂûRýÂÃð[YL^º §.NÃ,©ÂÂTKj¦#8qú·Ãqµé/ÿ+¬Ã³CüÂ;ÂÃNO¢ÂÃãºÃÃÂÂÇÃ*ÃBÂêXA¸8yizòÂpE¸r*¸RtUZ1YTìÂÃ6oz ø$ø°Ã²déæ³)f+,êÂÃOÂï&7.ÃÃC!<úK«eÃrÃrÃÃoM-)¶¤:ÃÂÃôÂTK±Â9p^ªÃÃçïªÃwsW/3ÂéÃ3tÂ<±²ÃðÂdò¸]vµÂÂçãüöD« 3£ºÃ²¬´%¹Uf·-øÂs»TYÃÃ.®^Â*ºtuêÂ+Â
äìIÂHÃÂqÂjÃ¥y\2ÃÃ
Ã%á¯Â).r:ÂMÃöÂÂéi*òÃ|fÂé*þFïÃÂÃ7¾mtïþSü§ûzKoÿÂzýÂÃÃ,úÃÃóg%W7±Höò"=r jOÃZGÃ'è aÂÃmòÂÃÂB'°\4}²`ªhzêâÂÂ
gÃâÂYÂÂC'\2¶;Ãìªô´LÂÃ0ü£ÂÂüÂÃÿã©ëÂöÂZfÃ/HaÂÃ
2½A_«7©ÂÂù::Ã
Âe9¿î8å³ÃjÃõÂÃdM\Â#¹Ã¬ÃrT-dóÃÃÂ+\ºxiÂxÂÃ
J´¾xizê*ÃüùÂ%®´<Z-Â>¡Â~oN;+.Ã<²R²Ã¬Ã¬´¬ô-º-ú-Â-Ã-)[Ã-©[Ã6¥ïOÃ/îOö?ýxÃqñxêñ´ãégRÃÂgRäÂIOö,óèiûçÂOÃ=ÿtÃyûyÃyçù¸óñçL[ÃÃ%%Ã
ÃtÂKîÃ,`òª¬8Gz>CLhw¦0YwÂnîÃý»îÃöè¾Â;úRóóÃÃÃ}ÂÃá-<±ï£7:'ÂÿexhëæªÂ;òÃ_êxðÂ;÷÷ÂÃÃûró
+ÂÂNüÂÂFç¹C QÃFÂ÷$¦êÂ``FÃÂÃRH?²`,ó°ÂLÃ&ð(5/ÃèvÂQÂÂwÂ¥9ss¨§ÂÂ.Ã$1wIºòçÃQÂÂZJÂÂ¥Â
ÂÂ
Bn(wGöÂ
\n4ûs½Â'¹I~R5éÂtNÃ]¿ÂpÃeÃ
+îR"²Ã¨ÃÂ@âL"j õ_uz uj\ðñÃý÷E#GÃÂÂN¯<Ãóÿ^yÂaÃï°Âõ{-?ÿ©ûõÃhèïÿ¤;²®êÃ
SÿðlõÃ>Ã{99@tøùÂÃB&tÃSªÃ²Âq£Ã¨W©Mp+èÃÃ8ÂUÂ1ªU#ÂÂ'!ÂO"ÂQ«Q«8iÃzÃ,\|ÂÂÂ^1WdQüÂ
ÿ8®H-h>Â?ä ÃF£#n³VÂ¥vª³Ã¢ºIîR«5Â6«CëÃe \.ÂÃÃæêrMKQ¡°Â1®1mDÂL¨Ã4Ã
ñêÂúÃ$pÂTbîÂosMa.?Ã,bÂ3cÃÃ~±§çzûAOÃteÃÃ-`i;JDu¬Ã1Â4ÂòcÂø1ôëaCkÂFëp¡DÃeÃM®NAZ~SÂÂ)A[ZÃ
dOòÂdü6zÂyÂ}Ãñv"O,Â*ÂmI11*¹!5uX5Ã2ýÃã_ùJÃ1÷ï\Â~Ã8ó?ö¢êè}{X¤yïÂ=»ÂÂ`ÂÂ¥iæNé½gÂéåçÂüÂÃnãÃÃÂ4ÂÃÃ3Ã<jA¼ó°Q;j9©ÃiÃ<$¸ÂÂ,ÂÃT gÃÂSÃ$ñÃ+EÃaýC¸`¡g)$tF`,p/8§'ø<ÃÃxXöp¾Ãáqzâ<ñ Ã`ÂYÃÃÃÂ@sX\rc,J at ZfÂCvÃwºùºõ÷}÷ú[$Ã.~r4¯ÂÃÂþ\_։dÃnÃ|)Ãc¢^(ÂR/Lb°g33Ã2fSbëBãf³I¯cµã&³I3®Ãã¦L«aXÂW±ê2Âej5ìÃÂ
X§2ÂQ«Ãì¨Â;iýj2ë0éÃEA[³Â'CM¼8e)ÂUÂ5§¨¯
+W~JuAûiNK|ÂÂÃ}Ã&â¾[âÂÃLÂÃÃpj³CÃásTà ¬ú,SÂ9SÃÃ4±ø~ªAänÃ抯?ÃÂVÂ_=ÂÂÂìçñç¹(UÂhwvGLÂæAaÃ2äJJÃÂæÂÃ÷hýYJ2d¯Â"óü;¡h4TÃ^tªtÃ
ÂÂ<Âÿ%æÃkÃu·`~£rùÃÂ:~ÂÂ<ùj£ÃÃ
aÂ¥ÂüÂWbkÿ£;n§·ÂÂBEî¥9uøèáuÂAáîeñÃQêò$ÃéÂ`³CC=ªbOÃ[ãÃÂÂ
qkù,Â
+âÂ
«+H ¼)Ã2O
+Ã$¤bà Âñ´ ÂGñJäqðj^ãP;4ÂêLMAñÂñÃV[:pKúÂTÃÂÃÃ,ùùãÂ?ÃlÂÃÃYµv5{HóÃÃñ/A¦aÃIÃö\Ãz fö£ûÂ|SîûJ¹Aó)ÃÂ:<Ã
ndflBÂÂsÃhrÃ1ÂækjÃÂ~,ª÷ÃäÂyÃ<õ·ÂdÃB%Â.õgn1ÃU¹ºÃÂÂL$\ùÃ
ïh½ÂÂÃB«Âåù{ò'ò9°ÂÂ
ÃÃ
Âì¤>ÃÂÃi%,ÃÃçòÂpÃ
ÃÂÂ6µZ֕~üÃâ'vNþõ/¯Ã|b1Ã%=òÃáÂ}à ðCøÃ
é»ûÃÃÃ_vµ~rÿÂYróxÂÿLÂtøüÂõóÂýæõJfýz=;JEõÂL''80J8fL9¦¶Âö£Qu«ñ0ku;ÂÃ
¸QIÂKÂÂö*hñ¬©KSÃSÂXT¤t!}OúD:ÂÂ+Â11ÂKáÂ9ÂpÃ
Ã#³ü?Ã
tÂÂñÃÃ}fÂi6§ûoo¶®»Ã>zðªE3¨ÃHÂÃ.GÂ¥Â@<aqJ® ¡8¢ÂÂL>.ÂìvÃv;qâñÂ<ô{éwLÃÃ¥ÃLÂôQÃ.]º|ùÃÂ¥?´CÂÂÂ"é_$IzÂPOê.Tâq¡GãðñÂáaÃÂö0nM4Ã¥\ÃîRÃ¥&ü¨01MêPáÃPé-g+
ÃI¬9"ÂÃ%gýbÂðà ú}à Â=Â#_|øÂÃÂp1«Â<lÃ`î((ÂþxxïG¿ûÃïwÃ&ñµ¸ùÃIm+ÂÃq]nfÂÃ-d
+\ÃÃ%b<b;dÃÂ"¹=§§ Â2Â2r)QöÃ=ÂÂìLªpÃTá"`r5IÂÃðÃî]öQK:û.³é)é±âÃ{Âyâ³Â6ì\ÃtE÷ÂáÃÃcK{®?üêÂ_üó¡ÂëÃ÷ÂNÃ7=å¢ÃfäTÂV'ûpÃhÃÃÂÃx»ÂWÂæãÃéN-J°éVÃâúx긠Y·mU¶;WÃZèÃ,¼CI¦c)ÂÃÂ+®A®Âã ¬zô«Â¶Â
¾\4QÃæÃ;¨ÂwÃÂ¥ÂÂ¥lº}A\Aüú·õoý¡H»Â¹uvüÃÃL"Ã¥2Jþ¡ÿÂÃg$öTkhçNIÃ¥ÃÃÂú5ÿ®3xÃà ðÃÿFÂhÃ7î§ÂÂnÃ=~@ÂÃ=°x{Ã¥ÃÂÃè
+DÂãÃ
>m«AÂ
ÂA îvuªpÃÂcÃ+5Â¥KêêÂÂÃt-«[º¤®ÂxÃvHsçà TªGK<vÂ*¤iãPÂÃ2ÂEÂò©ù`TDÃEÂÃ
+=ÃBc±Ã8`Ãk7ªÂèÂÂ
Kg®½|ý¹Â_füÃÃÃãÂÂÃÃ¥Rw,j@éhÂÃà K26rÃ\à ÂiFEÃ1ûaW«x¯ùäÃ7R» ÃÂÃÃÃ2.h沤vÃ
ÂgÃLÂùîÂÂÂÂfFÃÂTÃY1-[vÂ$RYùÃéÂ9zôÃáÂÃ=ÃIªùÃ_&Iª¹~ùvmðÃë¿ùÃÃõãïõ@²Â~|ÃÂôú6¿ÂÃCÃkÃACµÃ㱪F5Ã94ÃB
+ÃRc7_¨Âõ£áèÂshÃQ÷ÃÃ%»Ã»ÂÃÂ0pBôäÂOÃÃeæ5ô!à$Â#
§à ðÂÂ)â¶ÃªÂÃq«Têu÷lzMsôÃy_ÃÂñÂ?mÂ9Ã¥>NÂ=ÂMqãZÂsÃáÃjÃãÂY£ÃÂõZÂÃÃZeÂ`6ÂÂÃN§£ÃiÃ`ÃQ=7ªÃoHvÃÂk6³A§²8ÃVÂì¡ÃâøòIÃÂ
ÃRh!ÂxÂÂ~ÂÃfæÃ)·`¤ùÂ}Âÿ8ÃÂÂIöÃÃÂYëÃÃ95.³Ã©Ã1ç8ÂÂKÂÂ¥qkÃ-ÂÂæNM§¹ÃÃ7¬¹ÃyÃü¬&Âêuj=oà Â*2©ÃÂîvZµ6ÂMo3ÃÂVÂ`rÂÃñÂ8g¶6[ÂÂÃ4Ã¥ÂóÂ\K®uÂÃÃÃq$.6,6.6Â
+%¶RêÃ*m¥¡ÃXiòÃ6k7é6é7Â[,-Ã[¶ÃÃaì4ÃÂÂÃâ³¶Ãögk"=¸èGÂ
ÂÃ!èãÂÃÂý ã s,ñ¸ù¸ðÂöyÃóúsÃfèsÃ¥F¬Â}Pm)fÃ]Â>vg.<ÃüúYiÂ9öèõ«ÂH¯=Cü`ZÃ|µ§GúùºÂïÂ~VMEHõ2äu;3é¹[?n³ÃtãZÂnez¬kà ÂÃ,]¶ÂGÂF£¶ÂÃm£A°°Ã2£ÃPkÃ1Xc1ÂÃáÂzÂÃfÂ=é³Ãk63orÂ{ÃÂÃ
+(èä(÷mµbReÂÃê$F½})ãùl·.ÃVìÃÂÃ*ÂuºjÃFÃ=6?ÃmQèWGm֑Â*¤f4¬Â¯QkU`\ÂAe·ÃsÂ
ÃÃ9G%¨ã4ÂFÃZuv}¼Ãi³Ã3Q6£ÃÃ¥ësô¶Lû2´ÂYÃ
®Ã«¸Uü*Ã*õ2Ãrm©n¹a©q©uÂÂÃ^Â
¼ÂWãÃVéªôõõÃZÃZëZ[Âý.ÃÃ4°
¸Âkà T
êM¶QìÃNÃdop¶¡V¦Âõc?GÂêVM«¶MçÃwÃÃìÂÃA´ÂawãÃÃ?¢QÂj<)#Ã!Ãvý aÃ8d2ÃÂakÃ6l¿_{Pwù\CÃÃäTI ²{Ãü#üñ1æCÃä£Ã5é¯I¯
3¿þöÃ
+uòUörþ%ïéy8ÂÂÃúiîÂñÂñd¤òèÃÃÃ31£:6S«æ°5ÃÂ¥/±±nÂ<¨0m&¡~¢a;»ÃÃ[ÂüuÂeOð[fNvuLÃÃÂà &ëô\Ãlú<ÃÃ*iõ|ì4¼øMBÃ=Âj'²êF!Ãqc Ãè]sä52yèWg¡Ã
63p\ÂÂKEÂn&ÃÂCú2NÃ
pìÂDc%<Â-ÂÂlÂi²MÂKN¶Ão뱫0 tFn®ÂrÂ%ábåµÃîcÂê;ÂÂ齩ëÃÂÂÂxî;ûWó ëë¶=Ã3ý}s·ïì³ñ DïïBÃ
ý%¡=gÂÃ5Ãá3k[ãÂ*(qñÃEhÂ¥H«wÂôÂsïeÃøÃÃÂ¥KkkJKkjÂÂÃÃÂ.ÂÂ¥%yim-;©Ã¡«Ã³PÂ1ÃõXXw8>ò(ñÂÃoÃÂ}WÃTÃôuòÃÂÃ3é¬õÃõ+§øwÿÃGÃûzä,ÂÃLx:-k·;ì¦q£Ã·2³ ²ÂÃÃÃ4$°Ã¸JÂBãÂH
·29ÂÂÂXFjÂ
äFÂÃÃ¥$oÂâñI(X3jÃ%&8³ ÂÃ`å´Ã¸$(Y?ÂÂÃ+Â\2} Ã¥Â/ÂòF¼ÃN¢ÃMÂKéÃ~Ã
!ÂÃÂM(ôUÂ6¢ÂêæMÂáî2u9FL#Â}èÂîc´¬kÂ*3ÂûTÂ.ÃÃ
ºpÂ>Ãà 2:à .Gb6Ãaìgè3ÃÃ,S¦9Sôä$串KÃUl)^Â
âjf©ü&q³ÂÃÂ7«Â q£i¹Ã
ÃÂÃâjIìfºÃnéîÃwºhéHÃÂv1»Ã]xÂjÃ8l£Bõïp9]ÂÂûÃAõaýaÃAãAÃóû~ÃþÂý®ýÂw·µÃ-zù¦¼[`Â9Ã<zDú©9$9|ôûû¥Ã#LÂôÃÂö°Âb¨#Ãè#eëð}ÂyÃúÃÂû>øÃ6óÂ?¡
ý
ìù³ëÂÃ~#ïtÃ÷@¤"èEÂÃÂdÃÂ÷IÃs6Ȏg´î-Ã÷ ;ÂÂ
ñchÂÂ"ì!ð¾ÃP·ïÃ5îEÃÂÃÂy¼-çS`|¸ÂÃNg¡%êã°ÿzNÃÃam9à ZÃë¸÷ÃrÃû(ÂÃý`âwá¸/Gih'úÂÃÂÂzëÃIÂÂÂp«¸Ã¹i~;ÿ¦J¯jT}O]«îSM-iÂ4MÃ2Ã:ÃãzÂ~¹þCÂ&ú|ÂÃÃÃÃYÃÂ[ÃÃCâæÂÂiFæe3òÂÃuÂ)cñ¨NcÂoRÃÂ;Â1Ib§2V¡xt@«áÃ3®Â5ÃÂÃVÃzÂù¹26jmèOÂNOQÂF3([·K³H§;ÂÂ1Ã?Â¥Â9ÿTó(^')c*Ã;±µê«Â1¤fýe¬6^UÃFk¦þÃÂÃÃH8ÃóÃsâÃÃb±mD\ÂF¢á¯Ã-V÷·çÂå½½b#ÂÂÂÂÂH <ðçÃÃÂ-°Ol
+¡>_ÿÂn è
ø"ñÂü;
+gÃÃ2]û®`DôÂðÃèóÂ
{ÃPÃÃÂÃç®ht`YAÃððp~[l!¿=Ãw[Bu·Âèû÷²dÃu
Âp_0 Âú |W á@ÂllïòÂ
;n1}ý#â@ Â
¡¶¨/Ãìï:ÃÃ8ÂÂvÃÂP?0æky/ú"ÂP{ÃôD¨}°/ÃõE ?ÃÃ@DÃ&é±)ÃöÂ
i9ÂÂp` ò¶(D¶
FÂÂyÃb°¿½wÃO8F»BÂQ`¦/¨"ðaYÂÂv0ðD·Ã R¶õ#]î94ÃÂfA(,F`
+Â«Âø7Â&Ãâ訢:Jh¸+Ã÷Ã
ÃÂá~  ý!1rÂÂöî@{ÂÃÃ:îÃ
ÂÃCýþ Â#²Â´}m¡¡ÃÂ#ô¢`ÂÂ<Kì20ëòÂéòÂXmEoÃH°_ôÃÂ4ÃÂûBáÃ-£#Âñ5½Ã7B(ôÂ
üàq6_oÃÂÃç÷Séeõñ_8ìõÂ
)) ìì§ÂtöÂtEÃ&⥾v@!;bEn¦${Â_V¯÷ÃÂ=1>f±{ý½#bp«Â8áùg2Â"DÂÃ6± ÂÃdæÂCaDLÂÂÃ4B;¶ ¦Âà MSÂéQ¢¦-ækë
ÂYzÃ}Âaº|Q±ÃÂÂþùZr³>îûý
+ÃiósKÂ,ãg[6ê%ÃMMGÃ¥{IÂÂÂøÃ{| Ãch&ÂþkÃ#ÂÂôvÃlÂõÂUõuÃbS}UóÃòF¯XÃ$64÷TWz+Ã
´ò&xNs«ÂÃÃoh¢±¼®y³X_%ÂÃmÃWÃUºEï¦ÂFoSÂXÃ(VÃ6ÃT{a®º®¢fCeuÃq5ì««okªk«Âis=ê ªö6dµÃõðX¾ºº¦ºy³[»n®#8«ÃÃ\]±¡¦¼QlÃÃÃPÃä¶®º®ª¨xk½ ª¨oÃÃX½fm³65ä[ln,¯ôÃÂ7®wëAäFÂÂäÂÂCô¶ÂÃMkÃkjÃÃÃÃMÃÂÃòZK´³¦®¾ÂèhC]eysu}¸â¯®ñüÂ(5åõn±²¼¶|·iÂSÃÂUðÃ[çm,¯qÂM
ÃÂj2¯kòõ&Â_â<ÃõÂÃ3¬l¬nòºÃ
òÃê&ÃBUc=°Kì ;ÂÂ@ÂÃxu
+¿ÃFdîÂÃPd·"`¥·¼66>KýÃȣ=0%þ¹Â$iB³¨Âz®ÂÃÂÃôCøÃst>
ñE+ÂÂåæwn% Â4UINÃþ¡TÂÂïPûBJýÂøzÂìÂÂÂÂéëÂ
mÂ6çU¬0°e8ÂBJ}Â0Â*%9¬Â¬Â% Tnæ?Â@Ã
+zGò6Lêå$ÃÃ
+÷)¢SõµGÂÃ
riTì¤Ãý x(ÃÂÂ*P
 FAèp»PÂ(µ£¸AG[ÂÂaÃ"Z
0QÂOÂõ!7ÃV£~ÂÃÂQ9êÂ
KDÂ3¸"ô)ÂZ(ÂFMtD°3k>û;nsùð)¼Ã
þÃîýy·ÃWÂÃOFQ:ã²/Âz`.¸þÂNoÂ
?¶öÃrF¤»mÃÃÿl©
òi 8û(Ã|Â`=¿®ù:)Â¥~ÃG¸$¸:èj`Âb;ì <tÃÂÂò¢\öÃý[D¡¬QXÃùt*ò´+ÂáÂR.ÂÂ¥-ÃÃNáúáÃ;ûïÃÂÂoÃÂ4jA²ÃOïÃW;ìñ)òÂð!3Â@%@wÂÂÂ~:`ÃKÃF0ÃxÂÂ¥@âÂðEÃT#JqV'df£Ã±Ã©ÃÃnú½°Ã?£Âaê]ù¦Ãà á{ÂuøÂÃ3fëÂj£¸#°Ãý)r¸gä,Ã;Â;¨hu¾õ?[êÂædnf<:zÂÃÃJ4LõÃw[bÃÃ2©·FèÂYÂ~úMh¸éÂh¢ Ã)>f®yCÃ.²Â
Ã)m?Ã¥8¨pºl&BÂÂÂ>â9bÃsóì>Âú>ªDDdl,^fµ67ÃÃ'R¹}µÃÃÃú¬ ÃçûÂÃrÃS/
+)Z¾]ÂÂÃoÃwþ'´õYûÂ^Ffdè£Q¤1ÃlÂÿ¨ÂýäÂ[¢WÿÃÃõ>YòJEÃà `ñÃ}1©üÂ[b³þ9é8"QÂ2ÂÂK}ÃÂdÂøYG¿+ÃÃ\çÂçi>j§Ãç`>ÂÂõq+ÃÃÂÃ{é¾à gdõ°Â¯¾yxc3¯ÂÃ
ÃÃU$ ä»Ã<ÃS©ütÃ-jcÃÂÃ7ï ð±ÃÂv§ñSsSÂi£±ÂÃï 1+ÃjðZ TÃýJDÃ%W2îÂÂsm/óýÃÃE³½HïÂ
ò:H¡ækùVÂçho®ÿOb6B³h¬vÃF],¢H'Ã;ÃÂÂÂó1PÃîÂïNÃ
jr}ì§ú½¹ùÃÃZÂ.UÂ+QÂ¥>vÃÃÃZ䥴êQ<ZõðÃÂ6BÂÃHêaNÂîVZà ©f+©}Ãé
+YO£Â¹Ãc=Ã@qÃ8áÂà Ã3·HÂÃÃz¯\d¯m¢4¼ÂÂÂB6Rõ0[w¯GvTÃÃx&ã5Ât§2½:ÃÃLcÂì#¼ÃÂ6Ãü,Ãù\USÂ1Ãjá©ð¯UVÃw5Ã
GøwSMÂqÃÂU
+§åTG3ÃYÃÃ'2Ȕ
¹Â£2Tú,ÂÂr [Bæ¨î
@Â@¬¾Â)ÂR³é¦y*é~Bu=ÂÂ9«W¬LóXò]Ã|ý·ÃPn¢òÃÃ%RùÂa¦ÂæðÃðÃ|g
Ã
P;ãG¨|Ã¥TõÂÃjºF´HôY3Ã8Ã*T_ÃnÂóJJ©Âj¤éÂÂð÷ü#Fa
ÂÃK5UC¡Â@Â^¯ÂÂÂý±ÂÃZ¡èVÃ)û½ì5s´[Ae$½¨zÂ*§ºÂ/Â
!ÂÿY)dÂ+Ãst6ký:Ã
º3¶®§^öIÂl¤±è¥PÃ¥ÃÃM3Z¨¢ñ[«p¾aÂÂÃ
ì¸AñÃúÃæë7G1¸ÃÃ2®Ãù¬¤þT£pÃ4£Â¿Âw6y¡ÃµÃóOt&ïäs;ÃÃun/êÂÂsçvr6^CaûnÂÂÂÂó´\¿fÃ@s{¹Ãz' ÷ø³Âp¬Âs¸|VÂà ûiÃ.÷ÂÂÂ.E®#¡ÂNe®ÃÃwùtÃG!æÂÿ"®,à²ãf\rÂé£Â¡¹Â
6?«RÃ|b µ_¦2LÃQÂ¥K!ò
*°d~ô¦Srø¦SÃóAL¿§ÿ0µ÷ÂrÃ
+R
Âþ2_ÃF±óìNÂ:èZÃMVÂõ>Âmº¹/%:èÂù_±xÂöùôwlùÃ,BûnõÿÃÂc÷z~õ# ÿÃÂ_Â\ÿæÃ¯y¸ÃÂ
øFüê+Yü«~üJ¾°ÂÃÂ_ÃãôøùçìüóEø9;>W¿/ág%ü= GÃg%üÃÃþÂkxb
~ZÃOÃÃÿ$áoÂð·Â4ðòã'
øÂEøýøÂøtþÃã~þ~ÿ~ÃÃ=ÂáãOeà ñõøkþj>>yÃþ¤Â¿òÂÃ%?&à G1ñÂfà GÂÂÂ'ìøÃ^î¸ ÷pgà c_*äÂIø¡müCøÃ£FþA~ðãñh¹£_ÃñGÂøè9yª¹/ëðÂ/pc¡ÃüÃøÂ/èù,øwFGÂáÃÂ^à KøÃý[ùC/à C{¹ûfð÷oÃ
÷{¸ÂÃÃÃ|ÃÃ|ù<7¸¼Hïóã/â/:ñ½Ãñôx¯ÃÃïÂðÂ^ÂÃÂÂ?¿Ãþï6á];Ãü.ÃiãÃñÂïÃáá!¾ÂÂÂø!&á(lÂ.à Â%¼}ÃÃoÂðÂx¸ÃnÃÃWÃ÷÷à ¾2ÃÃcà {ûÂë1à Ã
$»¯á`Ã|PÃ]Â[ù®pÃ^®³#ÂïÃÂ;=\G·IÃ'áÃmù|«Â·åã{$¼UÃÂ[Âï÷Hxs%Ã$áÂnyoÂpÂ7Ãñ]E¸¡ÃÃ7ìÃõf\WîYÂkôxÂW§iøêãxm^Â~Â
WY±ÂÃñÃ\Yaã+{pÃ
j¯°áÃÃ¥z~µÂÃ=Z¾\Â=Zì!zlâVÃe\_VÂW®°ó+ÃãÃuü
+;^ááÂëð²R+¿l+.]jáKÂx©/1âÃ
.¹ÃÃÂHøÃb§éøb.ºCÃépÂlÂ;´¸° Â/¬Ãù¾ \à òèø|ÃÃÃÃ¥iý|Ãqì^dçÃëñ"bÂ/òp¹Ãz®çdò9Ã¥8Ã.ÃYpÃÂpæ2ÂaÂç3¶âÂ
éV~aNÂméVÂîáÃ48UÂçS·b1Ã
ÃÂñX¼Ã¥°&âx ÃÃ8 ;ì°ÃyG¶Ãl¼ÃÂÃÃfÃV³¾Â- ^¸ «±ø7Ã&X3IÃÂñÃèáÃÃÂó´ë¶ð;V[°Â/âU»1ûø"Ã2.RVÂÂ&Â$ÃÂcüûÂ0Âþ¿ýCÿ¯øÃ¿dÂþ7ÂR}÷
+endstream
+endobj
+
+6 0 obj
+9664
+endobj
+
+7 0 obj
+<</Type/FontDescriptor/FontName/BAAAAA+BitstreamVeraSerif-Roman
+/Flags 4
+/FontBBox[-183 -235 1286 928]/ItalicAngle 0
+/Ascent 928
+/Descent -235
+/CapHeight 928
+/StemV 80
+/FontFile2 5 0 R>>
+endobj
+
+8 0 obj
+<</Length 358/Filter/FlateDecode>>
+stream
+xÂ]ÂÃnÂ0Âï<EÂá" -´Bji+qÃÂF÷|ÃÂÃêTÂnÂÃàjÂXÃÃ`N»Ã½3ÂÂLwjZfaT}c£ÃÃÃó8A_ÂvÃó(~÷kãäf¶:èáOQüê4¸ÃÃÃ꣬ý¼~Xû=ÂÂñ¨(ÂÂÃïóÃæÂ8TÂ+ûi^û¿ÂëlÂÃ0¤¢
£m¸ÃÃ!Ã9/X~¹ýo-áTrkÃgã|ªð©Âo7Â
g8Ã!'Ã{äMà ,AÃÂ9Â¥ÂÂQN¼£øyOqÂ| {)çÂ\R<8Â(Â!ÂÂCüBì/ÂNÂ>Âü3<K,þ'dò¸¿ ÿ
Â+Ã?C±øÂÃä//þGäÃ
}ù§x±øã}ù'dòÂÃÂü³]hÃòñ%øf~ZÃÃÃ9Ãæð°B±³ÂÂ÷gÂUáû:ñ§
+endstream
+endobj
+
+9 0 obj
+<</Type/Font/Subtype/TrueType/BaseFont/BAAAAA+BitstreamVeraSerif-Roman
+/FirstChar 0
+/LastChar 30
+/Widths[600 666 644 319 513 317 596 564 591 478 564 644 401 640 640 602
+560 644 948 317 395 640 319 317 605 855 640 370 336 336 563 ]
+/FontDescriptor 7 0 R
+/ToUnicode 8 0 R
+>>
+endobj
+
+10 0 obj
+<<
+/F1 9 0 R
+>>
+endobj
+
+11 0 obj
+<</Font 10 0 R
+/ProcSet[/PDF/Text]>>
+endobj
+
+1 0 obj
+<</Type/Page/Parent 4 0 R/Resources 11 0 R/MediaBox[0 0 595 842]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 2 0 R>>
+endobj
+
+4 0 obj
+<</Type/Pages
+/Resources 11 0 R
+/MediaBox[ 0 0 595 842 ]
+/Kids[ 1 0 R ]
+/Count 1>>
+endobj
+
+12 0 obj
+<</Type/Catalog/Pages 4 0 R
+/ViewerPreferences<</DisplayDocTitle true
+>>
+>>
+endobj
+
+13 0 obj
+<</Title<FEFF007400690074006C0065>
+/Author<FEFF0075007300650072005F0030>
+/Subject<FEFF007300750062006A006500630074>
+/Keywords<FEFF006B006500790077006F007200640073>
+/Creator<FEFF005700720069007400650072>
+/Producer<FEFF004F00700065006E004F00660066006900630065002E006F0072006700200032002E0030>
+/CreationDate(D:20070403144232+02'00')>>
+endobj
+
+xref
+0 14
+0000000000 65535 f
+0000011267 00000 n
+0000000019 00000 n
+0000000471 00000 n
+0000011410 00000 n
+0000000491 00000 n
+0000010240 00000 n
+0000010261 00000 n
+0000010464 00000 n
+0000010891 00000 n
+0000011180 00000 n
+0000011213 00000 n
+0000011509 00000 n
+0000011602 00000 n
+trailer
+<</Size 14/Root 12 0 R
+/Info 13 0 R
+/ID [ <BB35E6D5E66F5F64EEA7126491BC02E9>
+<BB35E6D5E66F5F64EEA7126491BC02E9> ]
+>>
+startxref
+11951
+%%EOF
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.png
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.png?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.ppt
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.ppt?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.ppt
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.py?rev=13958&view=auto
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.py (added)
+++ erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.py Thu Apr 5 09:34:37 2007
@@ -1,0 +1,806 @@
+##############################################################################
+#
+# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
+# Kevin Deldycke <kevin_AT_nexedi_DOT_com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+##############################################################################
+
+
+import os
+import cStringIO
+from xml.dom.minidom import parseString
+import zipfile
+from cgi import FieldStorage
+from zLOG import LOG
+from zExceptions import BadRequest
+from Testing import ZopeTestCase
+from DateTime import DateTime
+from AccessControl.SecurityManagement import newSecurityManager
+from Products.CMFCore.utils import getToolByName
+from Products.ERP5Type.Utils import convertToUpperCase
+from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+from Products.ERP5Type.tests.Sequence import SequenceList
+from Products.ERP5Type.Cache import clearCache
+from Products.ERP5OOo.Document.OOoDocument import ConversionError
+
+
+if __name__ == '__main__':
+ execfile(os.path.join(sys.path[0], 'framework.py'))
+
+# Needed in order to have a log file inside the current folder
+os.environ['EVENT_LOG_FILE'] = os.path.join(os.getcwd(), 'zLOG.log')
+os.environ['EVENT_LOG_SEVERITY'] = '-300'
+
+ooodoc_coordinates = ('127.0.0.1', 8008)
+
+testrun = (7,)
+
+def shout(msg):
+ msg = str(msg)
+ ZopeTestCase._print('\n ' + msg)
+ LOG('Testing... ', 0, msg)
+
+def unpackData(data):
+ """
+ Unpack Pdata into string
+ """
+ if isinstance(data, str):
+ return data
+ else:
+ data_list = []
+ while data is not None:
+ data_list.append(data.data)
+ data = data.next
+ return ''.join(data_list)
+
+class FileUploadTest(file):
+
+ __allow_access_to_unprotected_subobjects__=1
+
+ def __init__(self, path, name):
+ self.filename = name
+ file.__init__(self, path)
+
+def makeFileUpload(name):
+ path = os.getenv('INSTANCE_HOME') + '/../Products/ERP5OOo/tests/' + name
+ return FileUploadTest(path, name)
+
+class TestIngestion(ERP5TypeTestCase):
+ """
+ ERP5 Document Management System - test file ingestion mechanism
+ """
+
+ # pseudo constants
+ RUN_ALL_TEST = 1
+ QUIET = 0
+
+ ##################################
+ ## ZopeTestCase Skeleton
+ ##################################
+
+ def getTitle(self):
+ """
+ Return the title of the current test set.
+ """
+ return "ERP5 DMS - ingestion"
+
+ def getBusinessTemplateList(self):
+ """
+ Return the list of required business templates.
+ """
+ return ('erp5_base', 'erp5_trade', 'erp5_project', 'erp5_dms')
+
+ def afterSetUp(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Initialize the ERP5 site.
+ """
+ self.login()
+ self.datetime = DateTime()
+ self.portal = self.getPortal()
+ self.portal_categories = self.getCategoryTool()
+ self.portal_catalog = self.getCatalogTool()
+ self.createCategories()
+ self.createPreferences()
+ self.createTools()
+
+ def createTools(self):
+ """
+ Set up contribution tool and content type registry
+ """
+ # XXX portal_contributions is not created in bootstrap
+ # so we have to create it here
+ try:
+ self.portal._delObject('portal_contributions')
+ except AttributeError:
+ pass
+ addTool = self.portal.manage_addProduct['ERP5'].manage_addTool
+ addTool('ERP5 Contribution Tool', None)
+ # XXX content_type_registry is not services by business templating mechanism
+ # so it has to be exported and placed in ../../../unit_test/import/ director
+ # we import it here
+ try:
+ self.portal._delObject('content_type_registry')
+ except AttributeError:
+ pass
+ self.portal.manage_importObject(file='content_type_registry.zexp')
+
+ def createPreferences(self):
+ default_pref = self.portal.portal_preferences.default_site_preference
+ default_pref.setPreferredOoodocServerAddress(ooodoc_coordinates[0])
+ default_pref.setPreferredOoodocServerPortNumber(ooodoc_coordinates[1])
+ default_pref.setPreferredDocumentFileNameRegularExpression("(?P<reference>[A-Z]{3,6})-(?P<language>[a-z]{2})-(?P<version>[0-9]{3})")
+ default_pref.enable()
+
+
+ ##################################
+ ## Useful methods
+ ##################################
+
+ def login(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Create a new manager user and login.
+ """
+ user_name = 'bartek'
+ user_folder = self.portal.acl_users
+ user_folder._doAddUser(user_name, '', ['Manager', 'Owner', 'Assignor'], [])
+ user = user_folder.getUserById(user_name).__of__(user_folder)
+ newSecurityManager(None, user)
+
+ def createCategories(self):
+ """
+ Create some categories for testing.
+ """
+ self.category_list = [
+ # Role categories
+ {'path' : 'role/internal'
+ ,'title': 'Internal'
+ }
+ ,{'path' : 'function/musician/wind/saxophone'
+ ,'title': 'Saxophone'
+ }
+ ,{'path' : 'group/medium'
+ ,'title': 'Medium'
+ }
+ ,{'path' : 'site/arctic/spitsbergen'
+ ,'title': 'Spitsbergen'
+ }
+ ]
+
+ # Create categories
+ # Note : this code was taken from the CategoryTool_importCategoryFile python
+ # script (packaged in erp5_core).
+ for category in self.category_list:
+ keys = category.keys()
+ if 'path' in keys:
+ base_path_obj = self.portal_categories
+ is_base_category = True
+ for category_id in category['path'].split('/'):
+ # The current category is not existing
+ if category_id not in base_path_obj.contentIds():
+ # Create the category
+ if is_base_category:
+ category_type = 'Base Category'
+ else:
+ category_type = 'Category'
+ base_path_obj.newContent( portal_type = category_type
+ , id = category_id
+ , immediate_reindex = 1
+ )
+ base_path_obj = base_path_obj[category_id]
+ is_base_category = False
+ new_category = base_path_obj
+
+ # Set the category properties
+ for key in keys:
+ if key != 'path':
+ method_id = "set" + convertToUpperCase(key)
+ value = category[key]
+ if value not in ('', None):
+ if hasattr(new_category, method_id):
+ method = getattr(new_category, method_id)
+ method(value.encode('UTF-8'))
+
+ def getCategoryList(self, base_category=None):
+ """
+ Get a list of categories with same base categories.
+ """
+ categories = []
+ if base_category != None:
+ for category in self.category_list:
+ if category["path"].split('/')[0] == base_category:
+ categories.append(category)
+ return categories
+
+ def checkObjectCatalogged(self, portal_type, reference):
+ """
+ make sure this object is already in the catalog
+ """
+ res = self.portal_catalog(portal_type=portal_type, reference=reference)
+ self.assertEquals(len(res), 1)
+ self.assertEquals(res[0].getReference(), reference)
+
+ def createDocument(self, portal_type, id):
+ """
+ create an empty document of given portal type
+ it has id as given and reference like document_[id]
+ immediately catalogged and verified in two ways
+ """
+ dm = self.portal.document_module
+ doc = getattr(dm, id, None)
+ if doc is not None:
+ dm.manage_delObjects([id,])
+ reference = 'document_' + id
+ doc = dm.newContent(portal_type=portal_type, id=id, reference=reference)
+ #doctext._getServerCoordinate = getOoodCoordinate()
+ doc.reindexObject(); get_transaction().commit(); self.tic()
+ self.checkObjectCatalogged(portal_type, reference)
+ self.assert_(hasattr(dm, id))
+
+
+ ##################################
+ ## Basic steps
+ ##################################
+
+ def stepCheckPreferences(self, sequence=None, sequence_list=None, **kw):
+ """
+ make sure preferences are set up properly and accessible
+ """
+ self.assertEquals(self.portal.portal_preferences.getPreferredOoodocServerAddress(), ooodoc_coordinates[0])
+ self.assertEquals(self.portal.portal_preferences.getPreferredOoodocServerPortNumber(), ooodoc_coordinates[1])
+ self.assertEquals(self.portal.portal_preferences.default_site_preference.getPreferredDocumentFileNameRegularExpression(), "(?P<reference>[A-Z]{3,6})-(?P<language>[a-z]{2})-(?P<version>[0-9]{3})")
+
+ def stepCheckContentTypeRegistry(self, sequence=None, sequence_list=None, **kw):
+ """
+ check if we successfully imported registry
+ and that it has all the entries we need
+ """
+ reg = self.portal.content_type_registry
+ correct_type_mapping = {
+ 'doc' : 'Text',
+ 'txt' : 'Text',
+ 'odt' : 'Text',
+ 'sxw' : 'Text',
+ 'rtf' : 'Text',
+ 'gif' : 'Image',
+ 'jpg' : 'Image',
+ 'png' : 'Image',
+ 'bmp' : 'Image',
+ 'pdf' : 'PDF',
+ 'xls' : 'Spreadsheet',
+ 'ods' : 'Spreadsheet',
+ 'sdc' : 'Spreadsheet',
+ 'ppt' : 'Presentation',
+ 'odp' : 'Presentation',
+ 'sxi' : 'Presentation',
+ 'xxx' : 'File',
+ }
+ for type, portal_type in correct_type_mapping.items():
+ file_name = 'aaa.' + type
+ self.assertEquals(reg.findTypeName(file_name, None, None), portal_type)
+
+ def stepCreatePerson(self, sequence=None, sequence_list=None, **kw):
+ """
+ Create a person.
+ """
+ portal_type = 'Person'
+ reference = 'john_doe'
+ person_module = self.portal.getDefaultModule(portal_type)
+ person = person_module.newContent( portal_type=portal_type
+ , id='john'
+ , reference = reference
+ )
+ person.reindexObject(); get_transaction().commit(); self.tic()
+
+
+ def stepCreateTextDocument(self, sequence=None, sequence_list=None, **kw):
+ """
+ create an empty Text document 'one'
+ for further testing
+ (first delete if exists)
+ """
+ self.createDocument('Text', 'one')
+
+ def stepCreateSpreadsheetDocument(self, sequence=None, sequence_list=None, **kw):
+ """
+ create an empty Spreadsheet document 'two'
+ for further testing
+ (first delete if exists)
+ """
+ self.createDocument('Spreadsheet', 'two')
+
+ def stepCreatePresentationDocument(self, sequence=None, sequence_list=None, **kw):
+ """
+ create an empty Presentation document 'three'
+ for further testing
+ (first delete if exists)
+ """
+ self.createDocument('Presentation', 'three')
+
+ def stepCreateDrawingDocument(self, sequence=None, sequence_list=None, **kw):
+ """
+ create an empty Drawing document 'four'
+ for further testing
+ (first delete if exists)
+ """
+ self.createDocument('Drawing', 'four')
+
+ def stepCheckEmptyState(self, sequence=None, sequence_list=None, **kw):
+ """
+ check if the document is in "empty" processing state
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, 'one', None)
+ return self.assertEquals(context.getExternalProcessingState(), 'empty')
+
+ def stepCheckUploadedState(self, sequence=None, sequence_list=None, **kw):
+ """
+ check if the document is in "uploaded" processing state
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, 'one', None)
+ return self.assertEquals(context.getExternalProcessingState(), 'uploaded')
+
+ def stepCheckConvertedState(self, sequence=None, sequence_list=None, **kw):
+ """
+ check if the document is in "converted" processing state
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, 'one', None)
+ return self.assertEquals(context.getExternalProcessingState(), 'converted')
+
+ def stepStraightUpload(self, sequence=None, sequence_list=None, **kw):
+ """
+ Upload a file directly from the form
+ check if it has the data and source_reference
+ """
+ dm = self.portal.document_module
+ doc = getattr(dm, 'one')
+ f = makeFileUpload('TEST-en-002.doc')
+ doc.edit(file=f)
+ self.assert_(doc.hasFile())
+ self.assertEquals(doc.getSourceReference(), 'TEST-en-002.doc')
+ self.assertEquals(doc.getRevision(), '')
+ doc.reindexObject(); get_transaction().commit(); self.tic()
+
+ def stepDialogUpload(self, sequence=None, sequence_list=None, **kw):
+ """
+ upload a file using dialog
+ should increase revision
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ f = makeFileUpload('TEST-en-002.doc')
+ context.Document_uploadFile(file=f)
+ self.assertEquals(context.getRevision(), '001')
+ context.reindexObject(); get_transaction().commit(); self.tic()
+
+ def stepDiscoverFromFilename(self, sequence=None, sequence_list=None, **kw):
+ """
+ upload file using dialog
+ this should trigger metadata discovery and we should have
+ basic coordinates immediately, from first stage
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ f = makeFileUpload('TEST-en-002.doc')
+ context.Document_uploadFile(file=f)
+ self.assertEquals(context.getReference(), 'TEST')
+ self.assertEquals(context.getLanguage(), 'en')
+ self.assertEquals(context.getVersion(), '002')
+
+ def stepCheckConvertedContent(self, sequence=None, sequence_list=None, **kw):
+ """
+ check if the input file was successfully converted
+ and that it includes what it should
+ """
+ self.tic()
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ self.assert_(context.hasOOFile())
+ self.assert_('magic' in context.SearchableText())
+
+ def stepSetDiscoveryScripts(self, sequence=None, sequence_list=None, **kw):
+ """
+ Create Text_getPropertyDictFrom[source] scripts
+ to simulate custom site's configuration
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ script_id = 'Text_getPropertyDictFromUserLogin'
+ factory = context.manage_addProduct['PythonScripts'].manage_addPythonScript
+ factory(id=script_id)
+ script = getattr(context, script_id)
+ script.ZPythonScript_edit('user_name=None',"return {'contributor':'person_module/john'}")
+ script_id = 'Text_getPropertyDictFromContent'
+ factory(id=script_id)
+ script = getattr(context, script_id)
+ script.ZPythonScript_edit('', "return {'short_title':'short'}")
+ result = context.Text_getPropertyDictFromContent()
+
+ def stepTestMetadataSetting(self, sequence=None, sequence_list=None, **kw):
+ """
+ Upload with custom getPropertyDict methods
+ check that all metadata are correct
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ f = makeFileUpload('TEST-en-002.doc')
+ context.Document_uploadFile(file=f)
+ get_transaction().commit()
+ self.tic()
+ # reference from filename (the rest was checked some other place)
+ self.assertEquals(context.getReference(), 'TEST')
+ # short_title from content
+ self.assertEquals(context.getShortTitle(), 'short')
+ # contributors from user
+ self.assertEquals(context.getContributor(), 'person_module/john')
+ # title from metadata inside the doc
+ self.assertEquals(context.getTitle(), 'title')
+
+ def stepEditMetadata(self, sequence=None, sequence_list=None, **kw):
+ """
+ we change metadata in a doc which has ODF
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ kw = dict(title='another title',
+ subject='another subject',
+ description='another description')
+ context.editMetadata(kw)
+ # context.edit(**kw) - this works from UI but not from here - is there a problem somewhere?
+ context.reindexObject(); get_transaction().commit();
+ self.tic(); self.tic();
+
+ def stepCheckChangedMetadata(self, sequence=None, sequence_list=None, **kw):
+ """
+ then we download it and check if it is changed
+ """
+ # XXX actually this is an example of how it should be
+ # implemented in OOoDocument class - we don't really
+ # need oood for getting/setting metadata...
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ newcontent = context.getOOFile()
+ cs = cStringIO.StringIO()
+ cs.write(unpackData(newcontent))
+ z = zipfile.ZipFile(cs)
+ s = z.read('meta.xml')
+ xmlob = parseString(s)
+ title = xmlob.getElementsByTagName('dc:title')[0].childNodes[0].data
+ self.assertEquals(title, u'another title')
+ subject = xmlob.getElementsByTagName('dc:subject')[0].childNodes[0].data
+ self.assertEquals(subject, u'another subject')
+ description = xmlob.getElementsByTagName('dc:description')[0].childNodes[0].data
+ self.assertEquals(description, u'another description')
+
+ def ingestFormats(self, doc_id, formats_from):
+ """
+ method for bulk ingesting files of various formats
+ we take them one by one based on naming convention
+ ingest, convert
+ check that a magic word is in every of them
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, doc_id)
+ for rev, format in enumerate(formats_from):
+ filename = 'TEST-en-002.' + format
+ f = makeFileUpload(filename)
+ context.edit(file=f)
+ context.convertToBase()
+ context.reindexObject(); get_transaction().commit(); self.tic()
+ self.assert_('magic' in context.SearchableText())
+
+ def stepIngestTextFormats(self, sequence=None, sequence_list=None, **kw):
+ """
+ ingest all supported text formats
+ make sure they are converted
+ """
+ formats_from = ['rtf', 'doc', 'txt', 'sxw', 'sdw']
+ self.ingestFormats('one', formats_from)
+
+ def stepIngestSpreadsheetFormats(self, sequence=None, sequence_list=None, **kw):
+ """
+ ingest all supported spreadsheet formats
+ make sure they are converted
+ """
+ formats_from = ['xls', 'sxc', 'sdc']
+ self.ingestFormats('two', formats_from)
+
+ def stepIngestPresentationFormats(self, sequence=None, sequence_list=None, **kw):
+ """
+ ingest all supported presentation formats
+ make sure they are converted
+ """
+ formats_from = ['ppt', 'sxi', 'sdd']
+ self.ingestFormats('three', formats_from)
+
+ def stepIngestDrawingFormats(self, sequence=None, sequence_list=None, **kw):
+ """
+ ingest all supported presentation formats
+ make sure they are converted
+ """
+ formats_from = ['sxd', 'sda']
+ self.ingestFormats('four', formats_from)
+
+ def checkDocumentExportList(self, doc_id, format, targets):
+ """
+ given the docs id
+ make sure targets are in
+ the objects target format list
+ """
+ dm = self.portal.document_module
+ context = getattr(dm, doc_id)
+ filename = 'TEST-en-002.' + format
+ f = makeFileUpload(filename)
+ context.edit(file=f)
+ context.convertToBase()
+ context.reindexObject(); get_transaction().commit(); self.tic()
+ clearCache()
+ target_list = [x[1] for x in context.getTargetFormatItemList()]
+ for target in targets:
+ self.assert_(target in target_list)
+
+ def stepCheckTextDocumentExportList(self, sequence=None, sequence_list=None, **kw):
+ self.checkDocumentExportList('one', 'doc', ['pdf', 'doc', 'rtf', 'html-writer', 'txt'])
+
+ def stepCheckSpreadsheetDocumentExportList(self, sequence=None, sequence_list=None, **kw):
+ self.checkDocumentExportList('two', 'xls', ['csv', 'html-calc', 'xls', 'calc.pdf'])
+
+ def stepCheckPresentationDocumentExportList(self, sequence=None, sequence_list=None, **kw):
+ self.checkDocumentExportList('three', 'ppt', ['impr.pdf', 'ppt'])
+
+ def stepCheckDrawingDocumentExportList(self, sequence=None, sequence_list=None, **kw):
+ self.checkDocumentExportList('four', 'sxd', ['jpg', 'draw.pdf', 'svg'])
+
+ def stepCheckHasSnapshot(self, sequence=None, sequence_list=None, **kw):
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ self.failUnless(context.hasSnapshot())
+
+ def stepCheckHasNoSnapshot(self, sequence=None, sequence_list=None, **kw):
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ self.failIf(context.hasSnapshot())
+
+ def stepCreateSnapshot(self, sequence=None, sequence_list=None, **kw):
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ context.createSnapshot()
+
+ def stepTryRecreateSnapshot(self, sequence=None, sequence_list=None, **kw):
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ # XXX this always fails, don't know why
+ #self.assertRaises(ConversionError, context.createSnapshot)
+
+ def stepDeleteSnapshot(self, sequence=None, sequence_list=None, **kw):
+ dm = self.portal.document_module
+ context = getattr(dm, 'one')
+ context.deleteSnapshot()
+
+
+
+ ##################################
+ ## Tests
+ ##################################
+
+ def test_01_checkBasics(self, quiet=QUIET, run=RUN_ALL_TEST):
+ if testrun and 1 not in testrun:return
+ if not run: return
+ if not quiet: shout('test_01_checkBasics')
+ sequence_list = SequenceList()
+ step_list = [ 'stepCheckPreferences'
+ ,'stepCheckContentTypeRegistry'
+ ]
+ sequence_string = ' '.join(step_list)
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
+ def test_02_TextDoc(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Test basic behaviour of a document:
+ - create empty doc
+ - upload a file directly
+ - upload a file using upload dialog
+ - make sure revision was increased
+ - check that it was properly converted
+ - check if coordinates were extracted from file name
+ """
+ if testrun and 2 not in testrun:return
+ if not run: return
+ if not quiet: shout('test_02_TextDoc')
+ sequence_list = SequenceList()
+ step_list = [ 'stepCreateTextDocument'
+ ,'stepCheckEmptyState'
+ ,'stepStraightUpload'
+ ,'stepCheckConvertedState'
+ ,'stepDialogUpload'
+ ,'stepCheckConvertedState'
+ ,'stepDiscoverFromFilename'
+ ,'stepCheckConvertedContent'
+ ]
+ sequence_string = ' '.join(step_list)
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
+ def test_03_MetadataExtraction(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Test metadata extraction from various sources:
+ - from filename (doublecheck)
+ - from user (by overwriting type-based method)
+ - from content (same way)
+ - from file metadata
+ We try to verity that all this works
+ (order will be tested later)
+
+ XXX Metadata of document (title, subject, description)
+ are retrieved and set upon conversion, and they
+ are not taken into account in the procedure
+ so they overwrite what was set before content and
+ are overwritten by what was after
+ XXX why do we use keywords to set subject_list???
+ """
+ if testrun and 3 not in testrun:return
+ if not run: return
+ if not quiet: shout('test_03_MetadataExtraction')
+ sequence_list = SequenceList()
+ step_list = [ 'stepCreateTextDocument'
+ ,'stepSetDiscoveryScripts'
+ ,'stepTestMetadataSetting'
+ ]
+ sequence_string = ' '.join(step_list)
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
+ def test_04_MetadataEditing(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Check metadata in the object and in the ODF document
+ Edit metadata on the object
+ Download ODF, make sure it is changed
+ """
+ if testrun and 4 not in testrun:return
+ if not run: return
+ if not quiet: shout('test_04_MetadataEditing')
+ sequence_list = SequenceList()
+ step_list = [ 'stepCreateTextDocument'
+ ,'stepDialogUpload'
+ ,'stepEditMetadata'
+ ,'stepCheckChangedMetadata'
+ ]
+ sequence_string = ' '.join(step_list)
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
+ def test_05_FormatIngestion(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Ingest various formats (xls, doc, sxi, ppt etc)
+ Verify that they are successfully converted
+ - have ODF data and contain magic word in SearchableText
+ """
+ if testrun and 5 not in testrun:return
+ if not run: return
+ if not quiet: shout('test_05_FormatIngestion')
+ sequence_list = SequenceList()
+ step_list = [ 'stepCreateTextDocument'
+ ,'stepIngestTextFormats'
+ ,'stepCreateSpreadsheetDocument'
+ ,'stepIngestSpreadsheetFormats'
+ ,'stepCreatePresentationDocument'
+ ,'stepIngestPresentationFormats'
+ ,'stepCreateDrawingDocument'
+ ,'stepIngestDrawingFormats'
+ ]
+ sequence_string = ' '.join(step_list)
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
+ def test_06_FormatGeneration(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Test generationof files in all possible formats
+ (do we need to test it here? it is tested
+ in oood tests...)
+ - at least check if they have correct lists of available formats for export
+ """
+ if testrun and 6 not in testrun:return
+ if not run: return
+ if not quiet: shout('test_06_FormatGeneration')
+ sequence_list = SequenceList()
+ step_list = [ 'stepCreateTextDocument'
+ ,'stepCheckTextDocumentExportList'
+ ,'stepCreateSpreadsheetDocument'
+ ,'stepCheckSpreadsheetDocumentExportList'
+ ,'stepCreatePresentationDocument'
+ ,'stepCheckPresentationDocumentExportList'
+ ,'stepCreateDrawingDocument'
+ ,'stepCheckDrawingDocumentExportList'
+ ]
+ sequence_string = ' '.join(step_list)
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
+ def test_07_SnapshotGeneration(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Generate snapshot, make sure it is there,
+ try to generate it again, remove and
+ generate once more
+ """
+ if testrun and 7 not in testrun:return
+ if not run: return
+ if not quiet: shout('test_07_SnapshotGeneration')
+ sequence_list = SequenceList()
+ step_list = [ 'stepCreateTextDocument'
+ ,'stepDialogUpload'
+ ,'stepCheckHasNoSnapshot'
+ ,'stepCreateSnapshot'
+ ,'stepTryRecreateSnapshot'
+ ,'stepCheckHasSnapshot'
+ ,'stepDeleteSnapshot'
+ ,'stepCheckHasNoSnapshot'
+ ,'stepCreateSnapshot'
+ ]
+ sequence_string = ' '.join(step_list)
+ sequence_list.addSequenceString(sequence_string)
+ sequence_list.play(self, quiet=quiet)
+
+
+ def test_08_Cache(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ I don't know how to verify how cache works - the only
+ think I know how to check is change file contents and
+ make sure new version is served
+ """
+
+ def test_09_Contribute(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Create content through portal_contributions
+ - use newContent to ingest various types
+ also to test content_type_registry setup
+ - verify that
+ - appropriate portal_types were created
+ - the files were converted
+ - metadata was read
+ """
+ if testrun and 8 not in testrun:return
+ if not run: return
+ if not quiet: shout('test_09_Contribute')
+
+ def test_10_MetadataSettingPreferenceOrder(self, quiet=QUIET, run=RUN_ALL_TEST):
+ """
+ Create a doc, try to set the same metadata from different sources
+ check that the right ones remained
+ change preference order, check again
+ """
+
+
+if __name__ == '__main__':
+ framework()
+else:
+ import unittest
+ def test_suite():
+ suite = unittest.TestSuite()
+ suite.addTest(unittest.makeSuite(TestIngestion))
+ return suite
+
+
+# vim: filetype=python syntax=python shiftwidth=2
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.rtf
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.rtf?rev=13958&view=auto
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.rtf (added)
+++ erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.rtf Thu Apr 5 09:34:37 2007
@@ -1,0 +1,86 @@
+{\rtf1\ansi\deff1\adeflang1025
+{\fonttbl{\f0\froman\fprq2\fcharset238 DejaVu Serif;}{\f1\froman\fprq2\fcharset238 Luxi Serif;}{\f2\fswiss\fprq2\fcharset0 Bitstream Vera Sans;}{\f3\froman\fprq2\fcharset0 Bitstream Vera Serif;}{\f4\fnil\fprq2\fcharset238 DejaVu Sans;}{\f5\fnil\fprq2\fcharset0 Mincho{\*\falt msmincho};}{\f6\fnil\fprq2\fcharset0 Bitstream Vera Sans;}{\f7\fnil\fprq2\fcharset238 Lucidasans;}{\f8\fnil\fprq0\fcharset0 Tahoma;}{\f9\fnil\fprq0\fcharset0 Lucidasans;}{\f10\fnil\fprq2\fcharset0 Tahoma;}}
+{\colortbl;\red0\green0\blue0;\red128\green128\blue128;}
+{\stylesheet{\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057\snext1 Normal;}
+{\s2\sb240\sa120\keepn\ql\rtlch\af10\afs28\lang1033\ltrch\dbch\af5\langfe1033\hich\f2\fs28\lang2057\loch\f2\fs28\lang2057\sbasedon1\snext3 Heading;}
+{\s3\sa120\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057\sbasedon1\snext3 Body Text;}
+{\s4\sa120\ql\rtlch\af8\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057\sbasedon3\snext4 List;}
+{\s5\sb120\sa120\ql\rtlch\af8\afs24\lang1033\ai\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\i\loch\f3\fs24\lang2057\i\sbasedon1\snext5 caption;}
+{\s6\ql\rtlch\af8\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057\sbasedon1\snext6 Index;}
+{\s7\sb120\sa120\ql\rtlch\af9\afs20\lang1033\ai\ltrch\dbch\af6\langfe1033\hich\f3\fs20\lang2057\i\loch\f3\fs20\lang2057\i\sbasedon1\snext7 Podpis;}
+{\s8\ql\rtlch\af9\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057\sbasedon1\snext8 Indeks;}
+{\*\cs10\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 Absatz-Standardschriftart;}
+{\*\cs11\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart;}
+{\*\cs12\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1;}
+{\*\cs13\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11;}
+{\*\cs14\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111;}
+{\*\cs15\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111;}
+{\*\cs16\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111;}
+{\*\cs17\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111;}
+{\*\cs18\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111;}
+{\*\cs19\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111;}
+{\*\cs20\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111;}
+{\*\cs21\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111;}
+{\*\cs22\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111;}
+{\*\cs23\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111;}
+{\*\cs24\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111;}
+{\*\cs25\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111;}
+{\*\cs26\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111;}
+{\*\cs27\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111;}
+{\*\cs28\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111;}
+{\*\cs29\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111;}
+{\*\cs30\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111;}
+{\*\cs31\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111;}
+{\*\cs32\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111;}
+{\*\cs33\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111;}
+{\*\cs34\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111;}
+{\*\cs35\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111;}
+{\*\cs36\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111;}
+{\*\cs37\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111;}
+{\*\cs38\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111;}
+{\*\cs39\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111;}
+{\*\cs40\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111;}
+{\*\cs41\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111;}
+{\*\cs42\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111;}
+{\*\cs43\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111111;}
+{\*\cs44\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111111;}
+{\*\cs45\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111111;}
+{\*\cs46\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111111111;}
+{\*\cs47\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111111111;}
+{\*\cs48\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111111111;}
+{\*\cs49\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111111111111;}
+{\*\cs50\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111111111111;}
+{\*\cs51\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111111111111;}
+{\*\cs52\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111111111111111;}
+{\*\cs53\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111111111111111;}
+{\*\cs54\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111111111111111;}
+{\*\cs55\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111111111111111111;}
+{\*\cs56\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111111111111111111;}
+{\*\cs57\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111111111111111111;}
+{\*\cs58\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111111111111111111111;}
+{\*\cs59\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111111111111111111111;}
+{\*\cs60\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111111111111111111111;}
+{\*\cs61\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111111111111111111111111;}
+{\*\cs62\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111111111111111111111111;}
+{\*\cs63\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111111111111111111111111;}
+{\*\cs64\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111111111111111111111111111;}
+{\*\cs65\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111111111111111111111111111;}
+{\*\cs66\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111111111111111111111111111;}
+{\*\cs67\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart11111111111111111111111111111111111111111111111111111111;}
+{\*\cs68\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart111111111111111111111111111111111111111111111111111111111;}
+{\*\cs69\cf0\rtlch\af7\afs24\lang255\ltrch\dbch\af4\langfe255\hich\f1\fs24\lang1045\loch\f1\fs24\lang1045 WW-Absatz-Standardschriftart1111111111111111111111111111111111111111111111111111111111;}
+}
+{\info{\title title}{\subject subject}{\keywords keywords}{\doccomm comments}{\author user_0}{\creatim\yr2006\mo5\dy9\hr19\min30}{\revtim\yr1601\mo1\dy1\hr1\min6}{\printim\yr2113\mo1\dy1\hr0\min0}{\comment StarWriter}{\vern6800}}\deftab709
+{\*\pgdsctbl
+{\pgdsc0\pgdscuse195\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Standard;}}
+{\*\pgdscno0}\paperh16837\paperw11905\margl1134\margr1134\margt1134\margb1134\sectd\sbknone\pgwsxn11905\pghsxn16837\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
+\pard\plain \ltrpar\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057 {\rtlch \ltrch\loch\f3\fs24\lang2057\i0\b0 This is a very interesting document.}
+\par \pard\plain \ltrpar\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057
+\par \pard\plain \ltrpar\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057 {\rtlch \ltrch\loch\f3\fs24\lang2057\i0\b0 It contains something special, namely a magic keyword.}
+\par \pard\plain \ltrpar\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057
+\par \pard\plain \ltrpar\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057 {\rtlch \ltrch\loch\f3\fs24\lang2057\i0\b0 It also has an embedded meta information:}
+\par \pard\plain \ltrpar\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057
+\par \pard\plain \ltrpar\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057 {\rtlch \ltrch\loch\f3\fs24\lang2057\i0\b0 function:musician/wind/saxophone}
+\par \pard\plain \ltrpar\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057
+\par \pard\plain \ltrpar\s1\ql\rtlch\af10\afs24\lang1033\ltrch\dbch\af6\langfe1033\hich\f3\fs24\lang2057\loch\f3\fs24\lang2057
+\par }
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sda
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sda?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sda
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdc
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdc?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdc
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdd
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdd?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdd
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdw
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdw?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sdw
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxc
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxc?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxc
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxd
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxd?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxd
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxi
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxi?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxi
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxw
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxw?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.sxw
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.txt
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.txt?rev=13958&view=auto
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.txt (added)
+++ erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.txt Thu Apr 5 09:34:37 2007
@@ -1,0 +1,3 @@
+This is a very interesting document. It contains something special, namely a magic keyword. It also has an embedded meta information: function:musician/wind/saxophone
+
+
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.xls
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.xls?rev=13958&view=auto
==============================================================================
Binary file - no diff available.
Propchange: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002.xls
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002_ind.html
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002_ind.html?rev=13958&view=auto
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002_ind.html (added)
+++ erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002_ind.html Thu Apr 5 09:34:37 2007
@@ -1,0 +1,8 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML>
+<HEAD>
+<TITLE></TITLE>
+</HEAD>
+<BODY>
+<A href="TEST-en-002s.html#1" target="contents" >Page 1</a><br>
+</BODY>
+</HTML>
Added: erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002s.html
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002s.html?rev=13958&view=auto
==============================================================================
--- erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002s.html (added)
+++ erp5/trunk/products/ERP5OOo/tests/test_document/TEST-en-002s.html Thu Apr 5 09:34:37 2007
@@ -1,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML>
+<HEAD>
+<TITLE></TITLE>
+</HEAD>
+<BODY>
+<A name=1></a>This is a very interesting document.<br>
+It contains something special, namely a magic keyword.<br>
+It also has an embedded meta information:<br>
+function:musician/wind/saxophone<br>
+<hr>
+</BODY>
+</HTML>
More information about the Erp5-report
mailing list