merge the formfield patch from ooo-build
[ooovba.git] / testautomation / writer / optional / includes / regression / issuezilla / w_issuezilla_regression.inc
blob9a7c142d0b1dab17050f776fa67220c097f13046
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: w_issuezilla_regression.inc,v $
11 '* $Revision: 1.2 $
13 '* last change: $Author: vg $ $Date: 2008-08-18 12:34:41 $
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 : Avoid regression (issuezilla tasks)
38 '\***********************************************************************
40 sub w_issuezilla_regression
42     Call i64991
43     Call i65094
44     Call i69045
45     Call i69521
46     Call i75027
47     Call i76637
48     Call i88656
49         Call i103265
51 end sub
53 '--------------------------------------------------------------------------
55 testcase i64991
56     Dim PrevMacroSetting as integer
57     Dim sDocName as string, i as integer, j as integer
59     sDocName = ConvertPath(gtesttoolpath & "writer\optional\input\regression\issuezilla\i64991.odt")
60     '/// New writer document
61     Call hNewDocument
62     '/// Set macro security to 'Medium' to activate Macros
63     PrevMacroSetting = hSetMacroSecurity(1)
64     '/// Open file \\writer\\optional\\input\\regression\\issuezilla\\i64991.odt
65     printlog "- Open file: " & sDocName 
66     call hFileOpen (sDocName,false)
67     Kontext "SecurityWarning"
68     if SecurityWarning.Exists(2) then
69         SecurityWarning.OK
70     else
71         Warnlog "Security Warning not up. Test interrupted!"
72         Call hCloseDocument
73         goto endsub
74     end if
75     
76         printlog "Save document to be able to find macro module later"    
77     Call hFileSaveAsKill (gOfficepath + "user\work\i64991.odt")
78         
79         printlog "- execute macro"
80     ToolsMacrosRunMacro
81     ' Sometimes it lasts long until dialog is shown
82     For i = 1 to 15
83         Sleep(i)
84         Kontext "ScriptSelector"
85         if ScriptSelector.Exists then exit for
86     next i
87     printlog " - select 'i64991' in Library list"
88     Kontext "ScriptSelector"
89     For i = 1 to LibraryTreeList.GetItemCount
90         LibraryTreeList.Select i
91         if InStr(LibraryTreeList.GetSelText,"i64991") then
92             printlog " - open node 'i64991' in Library list"
93             i = LibraryTreeList.GetItemCount + 1
94             LibraryTreeList.TypeKeys "+"
95             wait 500
96             printlog " - select 'Standard' in Library list"
97             LibraryTreeList.TypeKeys "<Down>"            
98             wait 500
99             printlog " - open node 'Standard' in Library list"
100             LibraryTreeList.TypeKeys "+"
101             wait 500
102             LibraryTreeList.TypeKeys "<Down>"
103             printlog " - select 'check_page_style' in Library list"
104             if LibraryTreeList.GetSelText <> "check_page_style" then
105                 Warnlog "Unable to find macro. Test interrupted!"
106                 ScriptSelector.Cancel
107                 Call hCloseDocument
108                 goto endsub
109             end if
110             printlog "- Now select script 'Main'"
111             for j = 1 to ScriptList.GetItemCount
112                 ScriptList.Select j
113                 if ScriptList.GetSelText = "Main" then
114                     printlog " - execute Script 'Main'"
115                     ScriptSelector.Ok
116                     exit for
117                 end if
118             next j
119         end if
120     next i
121     Kontext "ScriptSelector"
122     if ScriptSelector.Exists then
123         Warnlog "Something failed executing macro. Test interrupted"
124         ScriptSelector.Cancel
125     else
126         '/// check if page layout on first page is landscape
127         printlog "Check layout on first page"
128         FormatPageWriter
129         Kontext
130         Active.Setpage TabSeite
131         Kontext "TabSeite"
132         if Not Quer.IsChecked then Warnlog "#i64991#Setting a printer make the page styles to be lost"
133         TabSeite.Cancel
135         Call wTypeKeys ("<Down>")
137         '/// check if page layout on second page is still portrait
138         printlog "Check layout on second page"
139         FormatPageWriter
140         Kontext
141         Active.Setpage TabSeite
142         Kontext "TabSeite"
143         if Not Hoch.IsChecked then Warnlog "#i64991#Setting a printer make the page styles to be lost"
144         TabSeite.Cancel
145     end if
147     '/// Set macro setting to previous value
148     Call hSetMacroSecurity(PrevMacroSetting)
150     '/// Close document
151     Call hCloseDocument
153 endcase
154 '--------------------------------------------------------------------------
156 testcase i65094
158     '/// New writer document
159     Call hNewDocument
160     '/// Open file \\writer\\optional\\input\\regression\\issuezilla\\i65094a.odt
161     printlog "- Open file: i65094a.odt" 
162     Call hFileOpen ( gTesttoolPath + "writer\optional\input\regression\issuezilla\i65094a.odt" )
163     Call sMakeReadOnlyDocumentEditable
164     '/// Compare document with other version \\writer\\optional\\input\\regression\\issuezilla\\i65094b.odt
165 '    UseBindings
166     printlog "- Compare document with other version"
167     EditCompareDocument
168     Kontext "OeffnenDlg"
169     '/// Open document ( i65094b.odt )
170     Dateiname.SetText ConvertPath( gTesttoolPath + "writer\optional\input\regression\issuezilla\i65094b.odt" )
171 '    Sleep 2
172     Oeffnen.Click
173     Sleep 5
174     Call sMakeReadOnlyDocumentEditable
175     printlog "- Accept all"
176     '/// In Redlining dialog select 'Accept all'
177     Kontext "Redlining"
178     if Redlining.exists then
179         try
180             AlleAkzeptieren.Click
181             Sleep 1
182         catch
183             warnlog "accept button is disabled"
184         endcatch
185         '/// Close Redlining dialog
186         Redlining.Close
187         '/// Save document as "..\user\work\i65094compare.odt
188         Call hFileSaveAsKill (gOfficepath + "user\work\i65094compare.odt")
189         '/// Save document as "..\user\work\i65094compare.odt" 
190         Wait 500
191         printlog "- Compare done and document saved"
192     else
193         warnlog "Redlining dialog does not exist"
194     end if
195     Call hCloseDocument
196     
197 endcase
198 '--------------------------------------------------------------------------
200 testcase i69045
202     '/// New writer document
203     Call hNewDocument
204     printlog "- Open new dokument, enable redlining and make some changes"
205     '/// Enable redlining
206     EditChangesRecord
207     '/// Change document
208     Call wTypeKeys "Here are some changes"
209     '/// Save document as "..\user\work\i65094compare.odt and close it
210     Call hFileSaveAsKill (gOfficepath & "user\work\i69045.odt")
211     Call hCloseDocument
212     printlog "- Save, close and load document"
213     '/// Open saved document
214     Call hFileOpen ( gOfficepath & "user\work\i69045.odt" )
215     '/// Check 
216     try
217         EditChangesAcceptOrReject
218     catch
219         warnlog "Redlining has not been saved or does not work"
220     endcatch
221     Kontext "Redlining"
222     if Redlining.exists then
223         try
224             AlleAkzeptieren.Click
225             Sleep 1
226             printlog "- Edit changes has been saved and accepted"
227         catch
228             warnlog "AcceptAll is not enabled"
229         endcatch    
230         '/// Close Redlining dialog
231         Redlining.Close
232     end if
233     Call hCloseDocument
235 endcase
236 '--------------------------------------------------------------------------
238 testcase i69521
240     Dim iItems as integer
242     '/// New writer document
243     Call hNewDocument
244     '/// Load document: \\writer\\optional\\input\\regression\\issuezilla\\i69521.odt
245     Call hFileOpen (gTesttoolpath & "writer\optional\input\regression\issuezilla\i69521.odt")
246     Call sMakeReadOnlyDocumentEditable
247     '/// Loaded document should have 5 EPS Graphics
248     iItems = CountItemsInNavigatorGroup(4)
249     if iItems <> 5 then
250         Warnlog "Initially there are not 5 Grahics in document but: " & iItems
251         Call hCloseDocument
252         goto endsub
253     end if
255     '/// save document as OfficePath\\user\work\\i96521-1.odt"
256     Call hFileSaveAsKill (gOfficePath & "user\work\i96521-1.odt")
257     '/// close document
258     Call hCloseDocument
259     '/// reload previous saved document
260     Call hFileOpen (gOfficePath & "user\work\i96521-1.odt")
261     '/// Check if all 5 Graphics are still in document
262     iItems = CountItemsInNavigatorGroup(4)
263     if iItems <> 5 then
264         Warnlog "After save and reload there are not 5 Grahics in document but: " & iItems
265     end if
267     Call hCloseDocument
269 endcase
270 '--------------------------------------------------------------------------
272 testcase i75027
274     Dim i as integer
275     Dim j as integer
276     Dim sClipBrd() as string
277     Dim bNumberingError as boolean
279     gApplication   = "HTML"
280     '/// New HTML Document
281     Call hNewDocument
282     '/// type 'This<BR>is<BR>a numbering<BR>test'
283     Call wTypeKeys ("This<Return>is<Return>a numbering<Return>test")
284     '/// Select all paragraphs
285     Call wTypeKeys ("<Mod1 A>")     
286     '/// Format with simple numbering
287     Kontext "TextObjectbar"
288     if Not TextObjectbar.Exists then Call hToolbarSelect ( "FORMATTING", true )
289     '/// Select 'Numbering' in object bar ///
290     Numerierung.Click        
291     '/// move "is" to numbering level 2
292     '/// move "a numbering" to numbering level 3
293     '/// move "test" to numbering level 4  
294     printlog "- create numbering"
295     Call wTypeKeys ("<Mod1 Home>"    
296     for i = 1 to 3    
297         Call wTypeKeys ("<Down>")
298         Kontext "NumObjectbar"
299         if Not NumObjectbar.Exists then Call hToolbarSelect("BULLETSANDNUMBERING", true)
300         for j = 1 to 1 + i
301             Hinunterstufen.Click
302         next j
303     next i
304     '/// should look like:
305     '/// 1. this
306     '///    1. is 
307     '///        1. a numbering
308     '///            1. test
309     printlog "- check numbering"
310     Call wTypeKeys ( "<MOD1 A>" )
311     EditCopy
312     Select Case gPlatGroup
313         Case "unx"
314             sClipBrd() = Split (GetClipboardText, CHR$(10))
315         Case else
316             sClipBrd() = Split (GetClipboardText, CHR$(13) & CHR$(10))
317     end select
318     if Ubound(sClipBrd()) = 3 then
319         if Left$(sClipBrd(0), 2) <> "1." then bNumberingError = true
320         if Left$(sClipBrd(1), 2) <> "1." then bNumberingError = true
321         if Left$(sClipBrd(2), 2) <> "1." then bNumberingError = true
322         if Left$(sClipBrd(3), 2) <> "1." then bNumberingError = true
323     else
324         Warnlog "Error in clipboard content! " & Ubound(sClipBrd())
325     end if
326     if bNumberingError = true then
327         Warnlog "Seems numbering I. has not been correctly created"
328     end if
329     bNumberingError = false
330     '/// save as HTML-file i75027.html
331     Call hFileSaveAsKill (gOfficepath & "user\work\i75027.html")    
332     '/// Reload previous saved document
333     Call hCloseDocument
334     Call hFileOpen (gOfficepath & "user\work\i75027.html")
335     '/// Check that the numbering is still the same.
336     printlog "- check numbering (previous saved)"
337     Call wTypeKeys ( "<MOD1 A>" )
338     EditCopy
339     Select Case gPlatGroup
340         Case "unx"
341             sClipBrd() = Split (GetClipboardText, CHR$(10))
342         Case else
343             sClipBrd() = Split (GetClipboardText, CHR$(13) & CHR$(10))
344     end select
345     if Ubound(sClipBrd()) = 3 then
346         if Left$(sClipBrd(0), 2) <> "1." then bNumberingError = true
347         if Left$(sClipBrd(1), 2) <> "1." then bNumberingError = true
348         if Left$(sClipBrd(2), 2) <> "1." then bNumberingError = true
349         if Left$(sClipBrd(3), 2) <> "1." then bNumberingError = true
350     else
351         Warnlog "Error in clipboard content! " & Ubound(sClipBrd())
352     end if
353     if bNumberingError = true then
354         Warnlog "Seems numbering I. has not been correctly created"
355     end if    
356     '/// Close Document
357     Call hCloseDocument
358     gApplication   = "WRITER"
360 endcase
361 '--------------------------------------------------------------------------
363 testcase i76637
365     'Variables:
366     DIM sDocument           AS String 'variable for saving the doc
368     gApplication   = "WRITER"
369     
370     '/// open a swriter
371     Call hNewDocument 'NewDocument
372     Kontext "DocumentWriter"
373     printlog "New writer doc"
374     
375     '/// [Insert]-[Envelope]
376     InsertEnvelope
377     printlog "inserting envelope.."
378     
379     '/// click "New Doc" button in Envelope_Dlg
380     Kontext
381     active.SetPage TabEnvelope 'setting correct Tabpage
382     Kontext "TabEnvelope"
383     TabEnvelope.OK 'clicking on NewDoc button, which is OK button with another name
384     
385     '/// Save document
386     sDocument = ConvertPath ( gOfficePath + "user\work\test1.odt")
387     'deleting old Docs in the directory
388     if Dir (sDocument) <> "" then kill sDocument 'deleting old docs
389     Call hFileSaveAsKill (sDocument)
390     printlog "Document saved"
391     
392     '/// click [File]-[Reload]
393     Kontext "DocumentWriter"
394     FileReload
395     printlog "reloading ..here the crash happened in i76637."
396     '///crash occured here
398     Call hCloseDocument
399     Call hCloseDocument
400 endcase
402 '--------------------------------------------------------------------------
404 testcase i88656
405     printlog "Test Format - AutoFormat - Apply And Edit Changes."
407     printlog " Open a new writerdocument."
408     Call hNewDocument
409     printlog "Write the forrlowing text into the document: This is a test-text to be autoformatted."
410     wTypeKeys ("This is a test-text to be autoformatted.")
412     'Without text selected.
413     printlog "Use the menu: Format - Autoformat - Apply and Edit Changes."
414     FormatAutoformatApplyAndEditChanges
416     kontext "active"
417     if active.exists(2) then
418        printlog " In the dialog: choose 'Accept."
419        active.Ok
420     end if
422     printlog "Press SHIFT + HOME. To select the text we just wrote."
423     wTypeKeys ("<SHIFT HOME>")
425     'with text selected
426     printlog "Again, but with the text selected; use the menu: Format - Autoformat - Apply and Edit Changes."
427     FormatAutoformatApplyAndEditChanges
429     kontext "active"
430     if active.exists(3) then
431        printlog " In the dialog: choose 'no'."
432        active.Cancel
433     end if
435     kontext "active"
436     if active.exists(3) then
437        printlog " In the dialog: choose 'no'."
438        active.No
439     end if
441     Call hCloseDocument
442 endcase
444 '--------------------------------------------------------------------------
446 testcase i103265
448         Dim i as integer
450         printlog "ODF Hyperlinks in TOCs"
451         Call hNewDocument
452     printlog "- Open test document"
453         Call hFileOpen ( gTesttoolPath + "writer\optional\input\regression\issuezilla\i103265.odt" )
454     printlog "- Update TOC"
455         ToolsUpdateAllIndexes
456         
457         printlog "Check that every hyperlink jumps correctly to its target"
458         For i = 1 to 3
459                 ' point cursor to beginning of document
460                 Call wTypeKeys "<MOD1 HOME>"
461                 ' point cursor to index entry
462                 Call wTypeKeys "<DOWN>", 4 + i
463                 'execute Hyperlink
464                 ContextOpenHyperlink
465                 ' check if it jumps to correct target
466                 Call wTypeKeys "<SHIFT END>"
467                 EditCopy
468                 Select Case i
469                         Case 1:
470                                 if GetClipboardText <> "# 1 Test" then
471                                         Warnlog "First hyperlink not correctly jumped to. Not '# 1 Test' but " & GetClipboardtext
472                                 end if
473                         Case 2:
474                                 if GetClipboardText <> "1. Test" then
475                                         Warnlog "First hyperlink not correctly jumped to. Not '# 1. Test' but " & GetClipboardtext
476                                 end if
477                         Case 3:
478                                 if GetClipboardText <> "Test " then
479                                         Warnlog "First hyperlink not correctly jumped to. Not 'Test' but " & GetClipboardtext
480                                 end if
481                 end select
482         next i
484         printlog "- Save as HTML"
485         gApplication = "HTML"   
486         Call hFileSaveAsWithFilterKill ( gOfficePath + "user\work\ODFHyperlinksInTOCs.html", "HTML" )
487     Call hCloseDocument
488         
489     printlog "- Reload"
490         Call hFileOpen ( gOfficePath + "user\work\ODFHyperlinksInTOCs.html" )           
491         printlog "Check that every hyperlink jumps correctly to its target"
492         For i = 1 to 3
493                 ' point cursor to beginning of document
494                 Call wTypeKeys "<MOD1 HOME>"
495                 ' point cursor to index entry
496                 Call wTypeKeys "<DOWN>", 5 + i
497                 'execute Hyperlink
498                 ContextOpenHyperlink
499                 ' check if it jumps to correct target
500                 Call wTypeKeys "<SHIFT END>"
501                 EditCopy
502                 Select Case i
503                         Case 1:
504                                 if GetClipboardText <> "# 1 Test" then
505                                         Warnlog "First hyperlink not correctly jumped to. Not '# 1 Test' but " & GetClipboardtext
506                                 end if
507                         Case 2:
508                                 if GetClipboardText <> "1. Test" then
509                                         Warnlog "First hyperlink not correctly jumped to. Not '# 1. Test' but " & GetClipboardtext
510                                 end if
511                         Case 3:
512                                 if GetClipboardText <> "1Test " then
513                                         Warnlog "First hyperlink not correctly jumped to. Not 'Test ' but " & GetClipboardtext
514                                 end if
515                 end select
516         next i
517         
518         Call hCloseDocument
520 endcase