merge the formfield patch from ooo-build
[ooovba.git] / testautomation / xml / optional / includes / sxw7_03.inc
blob8d45748b3085cb4bd156d786eee11da08d3e7540
1 'encoding UTF-8  Do not remove or change this line!
2 '**************************************************************************
3 '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 '* 
5 '* Copyright 2008 by Sun Microsystems, Inc.
6 '*
7 '* OpenOffice.org - a multi-platform office productivity suite
8 '*
9 '* $RCSfile: sxw7_03.inc,v $
11 '* $Revision: 1.2 $
13 '* last change: $Author: rt $ $Date: 2008-07-11 07:35:14 $
15 '* This file is part of OpenOffice.org.
17 '* OpenOffice.org is free software: you can redistribute it and/or modify
18 '* it under the terms of the GNU Lesser General Public License version 3
19 '* only, as published by the Free Software Foundation.
21 '* OpenOffice.org is distributed in the hope that it will be useful,
22 '* but WITHOUT ANY WARRANTY; without even the implied warranty of
23 '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
24 '* GNU Lesser General Public License version 3 for more details
25 '* (a copy is included in the LICENSE file that accompanied this code).
27 '* You should have received a copy of the GNU Lesser General Public License
28 '* version 3 along with OpenOffice.org.  If not, see
29 '* <http://www.openoffice.org/license.html>
30 '* for a copy of the LGPLv3 License.
32 '/************************************************************************
34 '* owner : helge.delfs@sun.com
36 '* short description : XML Writer Include File
38 '\***********************************************************************************
39    Dim Isliste(250) as string
40    Dim OutputPath as string
41    Dim iSecurityBefore as integer
43 sub sxw7_03
45     printlog "-------------------------- SXW7_03.INC ------------------------------"
46     call hEnablePrettyPrinting
47     call thyperlinks
48     call hEnablePrettyPrinting(1)
49     call tindexes_alpha
50     call tindex_biblio
51     call tindex_most
52     call tpages
53     call tparagraph01
54     call tparagraph02
55     call tsection_main
56     printlog "------------------------ Macros and Events --------------------------"
57         iSecurityBefore = ""
58         iSecurityBefore = hSetMacroSecurity(1)   
59     call tEventsToObjects
60         call hSetMacroSecurity(iSecurityBefore)
61 end sub
63 '-------------------------------------------------------------------------
65 testcase thyperlinks
66     Dim Searchstring(9) as string
67     Dim i as integer
68     Dim AdditionalParameter as string
69     printlog "+- hyperlinks.sdw"
70     call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\hyperlinks.sdw"))
71     if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks.sxw") , "StarOffice XML (Writer)") then
72         '/// Closing the document also if there is a verification dialog.
73         call hCloseDocument()
74         sleep(3)     
75         UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks") )
76         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\styles.xml")) = FALSE then
77             warnlog "XML-file 'styles.xml' not well formed!"
78         end if
79         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\meta.xml")) = FALSE then
80             warnlog "XML-file 'meta.xml' not well formed!"
81         end if
82         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\content.xml")) = FALSE then
83             warnlog "XML-file 'content.xml' not well formed!"
84         else
85             call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks.sxw"))
86             sleep(2)
87             call hCloseDocument
88             sleep(2)
89             '    -----------------------
90             '     T E X T - S T Y L E S
91             '    -----------------------
92             '    <text:p text:style-name="Standard"><text:a xlink:type="simple" xlink:href="http://Www.sun.com/" office:target-frame-name="_blank" xlink:show="new" text:style-name="Variable" text:visited-style-name="Quotation"><text:span text:style-name="T1">Www.sun.com</text:span></text:a></text:p>
93             '-------------------------------------------------------------------------
94             Searchstring(1) = "<text:a"
95             Searchstring(2) = "xlink:type=" & CHR$(34) & "simple" & CHR$(34)
96             Searchstring(3) = "xlink:href=" & CHR$(34) & "http://Www.sun.com/" & CHR$(34)
97             Searchstring(4) = "office:target-frame-name=" & CHR$(34) & "_blank" & CHR$(34)
98             Searchstring(5) = "xlink:show=" & CHR$(34) & "new" & CHR$(34)
99             Searchstring(6) = "text:visited-style-name=" & CHR$(34)
100             Searchstring(7) = ">Www.sun.com<"
101             Searchstring(8) = "</text:span>"
102             Searchstring(9) = "</text:a>"
103             '-------------------------------------------------------------------------
104             AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\content.xml") , "text:p" , 1)
105             printlog "Debug: " & AdditionalParameter
106             For i = 1 to 9
107                 printlog " +- " & Searchstring(i)
108                 if InStr (AdditionalParameter , Searchstring(i)) = 0 then
109                     warnlog "Hyperlinks in text: " & Searchstring(i) & " not found!"
110                 end if
111             Next i
112             '   <text:p text:style-name="P1"><text:a xlink:type="simple" xlink:href="#targ" text:style-name="Variable" text:visited-style-name="Quotation">jump</text:a></text:p>
113             '-------------------------------------------------------------------------
114             Searchstring(1) = "<text:a"
115             Searchstring(2) = "xlink:type=" & CHR$(34) & "simple" & CHR$(34)
116             Searchstring(3) = "xlink:href=" & CHR$(34) & "#targ" & CHR$(34)
117             Searchstring(4) = "text:visited-style-name=" & CHR$(34)
118             Searchstring(5) = ">jump<"
119             Searchstring(6) = "</text:a>"
120             '-------------------------------------------------------------------------
121             AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\content.xml") , "text:p" , 3)
122             For i = 1 to 6
123                 printlog " +- " & Searchstring(i)
124                 if InStr (AdditionalParameter , Searchstring(i)) = 0 then
125                     warnlog "Hyperlinks in text: " & Searchstring(i) & " not found!"
126                 end if
127             Next i
128             '   <text:p text:style-name="P1"><text:bookmark-start text:name="targ"/>target here<text:bookmark-end text:name="targ"/></text:p>
129             '-------------------------------------------------------------------------
130             Searchstring(1) = "<text:bookmark-start"
131             Searchstring(2) = "text:name=" & CHR$(34) & "targ" & CHR$(34)
132             Searchstring(3) = ">target here<"
133             Searchstring(4) = "<text:bookmark-end"
134             '-------------------------------------------------------------------------
135             AdditionalParameter = GetLineInXMLBody(gOfficePath & ConvertPath("user\work\xml\writer\level1\hyperlinks\content.xml") , "text:p" , 6)
136             For i = 1 to 4
137                 printlog " +- " & Searchstring(i)
138                 if InStr (AdditionalParameter , Searchstring(i)) = 0 then
139                     warnlog "Hyperlinks in text: " & Searchstring(i) & " not found!"
140                 end if
141             Next i
142         end if
143     else
144         call hCloseDocument
145     end if
146 endcase
148 '-------------------------------------------------------------------------
150 testcase tindexes_alpha
151     printlog "+- indexes_alpha.sdw"
152     call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\indexes_alpha.sdw"))
153     if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha.sxw") , "StarOffice XML (Writer)") then
154         '/// Closing the document also if there is a verification dialog.
155         call hCloseDocument()
156         sleep(3)     
157         UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha") )
158         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha\styles.xml")) = FALSE then
159             warnlog "XML-file 'styles.xml' not well formed!"
160         end if
161         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha\meta.xml")) = FALSE then
162             warnlog "XML-file 'meta.xml' not well formed!"
163         end if
164         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha\content.xml")) = FALSE then
165             warnlog "XML-file 'content.xml' not well formed!"
166         else
167             call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\indexes_alpha.sxw"))
168             sleep(2)
169             call hCloseDocument
170             sleep(2)
171         end if
172     else
173         call hCloseDocument
174     end if
175 endcase
177 '-------------------------------------------------------------------------
179 testcase tindex_biblio
180     printlog "+- index_biblio.sdw"
181     call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\index_biblio.sdw"))
182     if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio.sxw") , "StarOffice XML (Writer)") then
183         '/// Closing the document also if there is a verification dialog.
184         call hCloseDocument()
185         sleep(3)     
186         UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio") )
187         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio\styles.xml")) = FALSE then
188             warnlog "XML-file 'styles.xml' not well formed!"
189         end if
190         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio\meta.xml")) = FALSE then
191             warnlog "XML-file 'meta.xml' not well formed!"
192         end if
193         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio\content.xml")) = FALSE then
194             warnlog "XML-file 'content.xml' not well formed!"
195         else
196             call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_biblio.sxw"))
197             sleep(2)
198             call hCloseDocument
199             sleep(2)
200         end if
201     else
202         call hCloseDocument
203     end if
204 endcase
206 '-------------------------------------------------------------------------
208 testcase tindex_most
209     printlog "+- index_most.sdw"
210     call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\index_most.sdw"))
211     if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most.sxw") , "StarOffice XML (Writer)") then
212         '/// Closing the document also if there is a verification dialog.
213         call hCloseDocument()
214         sleep(3)     
215         UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most") )
216         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most\styles.xml")) = FALSE then
217             warnlog "XML-file 'styles.xml' not well formed!"
218         end if
219         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most\meta.xml")) = FALSE then
220             warnlog "XML-file 'meta.xml' not well formed!"
221         end if
222         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most\content.xml")) = FALSE then
223             warnlog "XML-file 'content.xml' not well formed!"
224         else
225             call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\index_most.sxw"))
226             sleep(2)
227             call hCloseDocument
228             sleep(2)
229         end if
230     else
231         call hCloseDocument
232     end if
233 endcase
235 '-------------------------------------------------------------------------
237 testcase tpages
238     printlog "+- pages.sdw"
239     call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\pages.sdw"))
240     if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages.sxw") , "StarOffice XML (Writer)") then
241         '/// Closing the document also if there is a verification dialog.
242         call hCloseDocument()
243         sleep(3)     
244         UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\pages.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\pages") )
245         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages\styles.xml")) = FALSE then
246             warnlog "XML-file 'styles.xml' not well formed!"
247         end if
248         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages\meta.xml")) = FALSE then
249             warnlog "XML-file 'meta.xml' not well formed!"
250         end if
251         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages\content.xml")) = FALSE then
252             warnlog "XML-file 'content.xml' not well formed!"
253         else
254             call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\pages.sxw"))
255             sleep(2)
256             call hCloseDocument
257             sleep(2)
258         end if
259     else
260         call hCloseDocument
261     end if
262 endcase
264 '-------------------------------------------------------------------------
266 testcase tparagraph01
267     printlog "+- paragraph01.sdw"
268     call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\paragraph01.sdw"))
269     if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01.sxw") , "StarOffice XML (Writer)") then
270         '/// Closing the document also if there is a verification dialog.
271         call hCloseDocument()
272         sleep(3)     
273         UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01") )
274         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01\styles.xml")) = FALSE then
275             warnlog "XML-file 'styles.xml' not well formed!"
276         end if
277         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01\meta.xml")) = FALSE then
278             warnlog "XML-file 'meta.xml' not well formed!"
279         end if
280         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01\content.xml")) = FALSE then
281             warnlog "XML-file 'content.xml' not well formed!"
282         else
283             call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph01.sxw"))
284             sleep(2)
285             call hCloseDocument
286             sleep(2)
287         end if
288     else
289         call hCloseDocument
290     end if
291 endcase
293 '-------------------------------------------------------------------------
295 testcase tparagraph02
296     printlog "+- paragraph02.sdw"
297     call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\paragraph02.sdw"))
298     if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02.sxw") , "StarOffice XML (Writer)") then
299         '/// Closing the document also if there is a verification dialog.
300         call hCloseDocument()
301         sleep(3)     
302         UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02") )
303         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02\styles.xml")) = FALSE then
304             warnlog "XML-file 'styles.xml' not well formed!"
305         end if
306         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02\meta.xml")) = FALSE then
307             warnlog "XML-file 'meta.xml' not well formed!"
308         end if
309         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02\content.xml")) = FALSE then
310             warnlog "XML-file 'content.xml' not well formed!"
311         else
312             call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\paragraph02.sxw"))
313             sleep(2)
314             call hCloseDocument
315             sleep(2)
316         end if
317     else
318         call hCloseDocument
319     end if
320 endcase
322 '-------------------------------------------------------------------------
324 testcase tsection_main
325     QAErrorLog "#i88812#-Update all links message doubled in old .sd* documents."
326     goto endsub
327     printlog "+- section_main.sdw"
328     call hFileOpen (gTesttoolPath & ConvertPath("xml\optional\input\writer\section_main.sdw") , TRUE)
329     if hFileSaveAsWithFilterKill (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main.sxw") , "StarOffice XML (Writer)") then
330         '/// Closing the document also if there is a verification dialog.
331         call hCloseDocument()
332         sleep(3)     
333         UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main.sxw") , gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main") )
334         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main\styles.xml")) = FALSE then
335             warnlog "XML-file 'styles.xml' not well formed!"
336         end if
337         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main\meta.xml")) = FALSE then
338             warnlog "XML-file 'meta.xml' not well formed!"
339         end if
340         if XMLWellFormed (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main\content.xml")) = FALSE then
341             warnlog "XML-file 'content.xml' not well formed!"
342         else
343             call hFileOpen (gOfficePath & ConvertPath("user\work\xml\writer\level1\section_main.sxw") , TRUE)
344             sleep(2)
345             call hCloseDocument
346             sleep(2)
347         end if
348     else
349         call hCloseDocument
350     end if
351 endcase
353 '-------------------------------------------------------------------------
355 testcase tEventsToObjects
356     '/// Goal: All macros embedded to the objects should be exported corrextly to XML fileformat. 
357     Dim i as integer
358     Dim l as integer
359     Dim a as integer
360     Dim xXMLStyleName as string
361     Dim xPath as string
362     Dim AttributeSearch(50) as string
363     Dim AttributeValue(50) as string
364     Dim cWhereCalled as string    
365     
366     dim sdw_file as string 
367         sdw_file = gTesttoolPath & "xml\optional\input\writer\events_to_objects.sdw"
368         sdw_file = convertpath( sdw_file )
369     dim sxw_file as string 
370         sxw_file = gOfficePath & "user\work\xml\writer\level1\events_to_objects.sxw"
371         sxw_file = convertpath( sxw_file )
372     
373     printlog "+- events_to_objects.sdw"
375     cWhereCalled = "xml::level1::inc::sxw7_03.inc::tEventsToObjects: "
376     
377     '/// Open Tools/Options -> OpenOffice.org/Security
378     '/// Click on the macro security button
379     '/// Set the <b>medium</b> security level
380     
381     try
382         if iSecurityBefore = "" then
383             QAErrorLog cWhereCalled & "Macro security level needs to be set before to 1 (medium)!"
384             goto endsub
385         end if
386     catch
387         'if variable iSecurityBefore is not initialized and causes into an error
388         QAErrorLog cWhereCalled & "Macro security level needs to be set before to 1 (medium)!"
389         goto endsub        
390     endcatch        
391   
392     '/// Load (binary) document under <i>...qa/qatesttool/xml/update/input/writer/events_to_objects.sdw</i>.
393     hFileOpen( sdw_file )
394     if ( NOT hAllowMacroExecution() ) then
395         warnlog "#i80769# Macros not being loaded. Exiting test case."
396         call hCloseDocument
397         goto endsub
398     end if    
399     '/// Save as StarOffice XML fileformat (.sxw).  
400     if ( hFileSaveAsWithFilterKill ( sxw_file , "StarOffice XML (Writer)" ) ) then    
401         '/// Closing the document also if there is a verification dialog.
402         'call hCloseDocument()
403         hCloseDocument()
404         'sleep(3)     
405         '/// Close window with the document.
406         UnpackStorage( gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects.sxw") , _
407                        gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects") )
408         '/// Uncompressing .sxw files in directory <pre>../user/work/events_to_objects/</pre>. 
409         if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects\meta.xml")) = FALSE then
410             warnlog "XML-file 'meta.xml' not well formed!"
411         end if
412         '///+Verify that XML files (<i>styles.xml</i>, <i>meta.xml</i> and <i>content.xml</i>) are <i>well formed</i>. 
413         if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects\styles.xml")) = FALSE then
414             warnlog "XML-file 'styles.xml' not well formed!"
415         end if
416         if XMLWellformed (gOfficePath & ConvertPath("user\work\xml\writer\level1\events_to_objects\content.xml")) = FALSE then
417             warnlog "XML-file 'content.xml' not well formed!"
418             '/// If <i>well formness</i> is okay, load exported document.
419         else
420             hFileOpen( sdw_file )
421             hAllowMacroExecution()
423             Kontext "DocumentWriter"
424             DocumentWriter.TypeKeys "<SHIFT F4>" , TRUE
425             '/// Select first graphic with &lt;SHIFT&gt;&lt;F4&gt;
426             '///+ and a messagebox should be displayed.
427             '///+ Press &lt;RETURN&gt; key.
428             '///<i>four times</i>
429             '///+<ol><li>Press &lt;TAB&gt; key to select the next object.</li><li>and a messagebox should be displayed.</li><li>Press &lt;RETURN&gt; key.</li></ol>
430             for l = 1 to 4
431                 Kontext "Messagebox"
432                 if Messagebox.Exists(2) then
433                     if Messagebox.GetRT = 304 then
434                         Messagebox.OK
435                     end if
436                 else
437                     if l = 1 then 
438                         warnlog "Event on Graphic failed! No Message Box occured!"
439                     end if
440                     if l = 2 then 
441                         warnlog "Event on OLE object failed! No Message Box occured!"
442                     end if
443                     if l = 3 then 
444                         warnlog "Event on text frame object failed! No Message Box occured!"
445                     end if
446                     if l = 4 then 
447                         warnlog "Event on text frame object (frame style applied) failed! No Message Box occured!"
448                     end if
449                 end if
450                 if l <> 4 then
451                     Kontext "DocumentWriter"
452                     DocumentWriter.TypeKeys "<TAB>"
453                 end if
454             next l
455             '/// Close document. 
456             call hCloseDocument
457             sleep(2)
458             'TODO: Search for the events in source.       
459         end if
460     else
461         call hCloseDocument
462     end if
463 endcase