Update ooo320-m1
[ooovba.git] / testautomation / writer / optional / includes / option / wr_o_4.inc
blobdeb98f579ce158d5bf8253dabd1af30a4c9ff8ef
1 '**************************************************************************
2 '* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3 '* 
4 '* Copyright 2008 by Sun Microsystems, Inc.
5 '*
6 '* OpenOffice.org - a multi-platform office productivity suite
7 '*
8 '* $RCSfile: wr_o_4.inc,v $
9 '*
10 '* $Revision: 1.2 $
12 '* last change: $Author: vg $ $Date: 2008-08-18 12:33:17 $
14 '* This file is part of OpenOffice.org.
16 '* OpenOffice.org is free software: you can redistribute it and/or modify
17 '* it under the terms of the GNU Lesser General Public License version 3
18 '* only, as published by the Free Software Foundation.
20 '* OpenOffice.org is distributed in the hope that it will be useful,
21 '* but WITHOUT ANY WARRANTY; without even the implied warranty of
22 '* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23 '* GNU Lesser General Public License version 3 for more details
24 '* (a copy is included in the LICENSE file that accompanied this code).
26 '* You should have received a copy of the GNU Lesser General Public License
27 '* version 3 along with OpenOffice.org.  If not, see
28 '* <http://www.openoffice.org/license.html>
29 '* for a copy of the LGPLv3 License.
31 '/************************************************************************
33 '* owner : helge.delfs@sun.com
35 '* short description :
37 '\***********************************************************************
39 sub wr_o_4
41     Call tToolsOptionsWriterOther
42     Call tToolsOptionsWriterAutoCaption
43     Call tToolsOptionsWriterGeneral
44     Call tToolsOptionsWriterMailMerge
46 end sub
48 '------------------------------------------------------------------------------
49 testcase tToolsOptionsWriterOther
50     dim irgendwas(7) as boolean    ' Checkbox states
51     dim bRadioBut(3) as boolean    ' RadioButton states
52     dim bTempRadioBut(3) as boolean
53     dim iMasseinheit as integer
54     dim sTabAbstand as string
55     dim sTemp as string
56     dim iTemp as integer
57     dim sTemp2 as string
60     ' irgendwas(i)
61     '-(1) = NurFuerAktuellesDokument
63     '(2) = Feldbefehle
64     '(3) = Diagramme
65     '-(4) = FelderUndDiagrammeAktuellesDokument
67     '(5) = Abstaende
68     '(6) = AbstaendeSeitenanfang
69     '(7) = TabulatorpositionAusrichten
71     ' bRadioBut(i) and bTempRadioBut(i)
72     '(1) = Immer
73     '(2) = AufNachfrage
74     '(3) = Nie
76     ' !!! -Feldbefehle- has to be checked, to get -Diagramme- enabeld !!!
78     '- !!! -Current Document only- ist bei office beenden zu beachten!!!
80     Call hNewDocument
81     printlog ("'///- Tools/Options/Writer: General ///")
83     printlog ("'/// - save states ///")
84     ToolsOptions
85     Call hToolsOptions ("WRITER","GENERAL")
87     irgendwas(2) = Feldbefehle.IsChecked
88     irgendwas(3) = Diagramme.IsChecked
90     bRadioBut(1) = Immer.IsChecked
91     bRadioBut(2) = AufNachfrage.IsChecked
92     bRadioBut(3) = Nie.IsChecked
94     iMasseinheit = Masseinheit.GetSelIndex
95     sTabAbstand = Tabulatorenabstand.GetText
97     printlog ("'/// - all states inverting ///")
99     if irgendwas(2) Then Feldbefehle.UnCheck Else Feldbefehle.Check
100     if Feldbefehle.IsChecked  Then if irgendwas(3) Then Diagramme.UnCheck Else Diagramme.Check
102     if (Immer.IsChecked = True) Then AufNachfrage.Check Else Immer.Check
104     bTempRadioBut(1) = Immer.IsChecked
105     bTempRadioBut(2) = AufNachfrage.IsChecked
106     bTempRadioBut(3) = Nie.IsChecked
108     Tabulatorenabstand.ToMax
109     sTemp = Tabulatorenabstand.GetText
110     Tabulatorenabstand.More
112     if (LiberalMeasurement (sTemp,Tabulatorenabstand.GetText) <> TRUE) Then Warnlog ("BugID: 82740: Tab stops max. isn't max.")
113     Tabulatorenabstand.SetText (sTabAbstand)
115     if ( Masseinheit.GetItemCount <> iMasseinheit ) Then Masseinheit.Select (Masseinheit.GetItemCount) _
116     Else Masseinheit.Select (1)
117     iTemp = Masseinheit.GetSelIndex
119     sTemp = Tabulatorenabstand.GetText
120     Tabulatorenabstand.ToMax
121     if ( Tabulatorenabstand.GetText = sTemp ) Then Tabulatorenabstand.ToMin
122     sTemp = Tabulatorenabstand.GetText
124     Kontext "ExtrasOptionenDlg"
125     ExtrasOptionenDlg.OK
127     printlog ("'/// - SO quit - start ///")
129     Call wOfficeRestart
131     printlog ("'/// - checking states ///")
132     ToolsOptions
133     Call hToolsOptions ( "WRITER" , "GENERAL" )
135     if ( irgendwas(2) = Feldbefehle.IsChecked                         ) Then WarnLog "Feldbefehle state changed"
136     if Feldbefehle.IsChecked Then if ( irgendwas(3) = Diagramme.IsChecked ) Then WarnLog "Diagramme state changed"
137     if ( bTempRadioBut(1) <> Immer.IsChecked       ) Then WarnLog "Immer state changed"
138     if ( bTempRadioBut(2) <> AufNachfrage.IsChecked) Then WarnLog "AufNachfrage state changed"
139     if ( bTempRadioBut(3) <> Nie.IsChecked         ) Then WarnLog "Nie state changed"
141     if ( Masseinheit.GetSelIndex <> iTemp ) Then WarnLog "Masseinheit state changed"
142     if (LiberalMeasurement (sTemp,Tabulatorenabstand.GetText) <> TRUE ) Then WarnLog "Tabulatorenabstand state changed - watch BugID: 82744 for Status"
144     Kontext "ExtrasOptionenDlg"
145     ExtrasOptionenDlg.OK
147     printlog ("'/// - all UnCheck -> o ///")
148     ToolsOptions
149     Call hToolsOptions ( "WRITER" , "GENERAL" )
151     Feldbefehle.UnCheck
153     if (AufNachfrage.IsChecked = True) Then Nie.Check Else AufNachfrage.Check
155     bTempRadioBut(1) = Immer.IsChecked
156     bTempRadioBut(2) = AufNachfrage.IsChecked
157     bTempRadioBut(3) = Nie.IsChecked
159     Masseinheit.Select (1)
160     Tabulatorenabstand.ToMin
161     sTemp = Tabulatorenabstand.GetText
162     printlog ("'/// More test ///'")
163     Tabulatorenabstand.More
164     if ( sTemp = Tabulatorenabstand.GetText ) Then WarnLog "Tabulatorenabstand More-Button not working; stemp1: "+sTemp + " =? (2) " +Tabulatorenabstand.GetText
165     sTemp = Tabulatorenabstand.GetText
167     Kontext "ExtrasOptionenDlg"
168     ExtrasOptionenDlg.OK
170     printlog ("'/// - check if all UnChecked ///")
171     ToolsOptions
172     Call hToolsOptions ( "WRITER" , "GENERAL" )
174     if Feldbefehle.IsChecked                         Then WarnLog "Feldbefehle x"
176     if ( bTempRadioBut(1) <> Immer.IsChecked       ) Then WarnLog "Immer state changed"
177     if ( bTempRadioBut(2) <> AufNachfrage.IsChecked) Then WarnLog "AufNachfrage state changed"
178     if ( bTempRadioBut(3) <> Nie.IsChecked         ) Then WarnLog "Nie state changed"
180     if ( Masseinheit.GetSelIndex <> 1 ) Then WarnLog "Masseinheit is not item 1"
181     sTemp2 = Tabulatorenabstand.GetText
182     if (LiberalMeasurement (sTemp, sTemp2) <> TRUE ) Then WarnLog "Tabulatorenabstand is not min. is: " +Tabulatorenabstand.GetText + " should: " +sTemp
184     Kontext "ExtrasOptionenDlg"
185     ExtrasOptionenDlg.OK
187 '---------------------------------------------------------------------------------
189     printlog ("'///  check if tab stops get saved in document ///")
190     Call hNewDocument
192     ' set Default Tab Stop to 2,5cm
193     ToolsOptions
194     Call hToolsOptions ("WRITER","GENERAL")
195     Masseinheit.Select (2) ' cm
196 '   printlog "before " + Tabulatorenabstand.GetText
197     Tabulatorenabstand.SetText ("2" + GetDecimalSeperator(Tabulatorenabstand.GetText) + "50" + mUnit)
198 '   printlog "after " + Tabulatorenabstand.GetText
199 '   printlog "seperator: " + GetDecimalSeperator(Tabulatorenabstand.GetText)
200 '   printlog "generated string: " + "2" + GetDecimalSeperator(Tabulatorenabstand.GetText) + "50cm"
201     Kontext "ExtrasOptionenDlg"
202     ExtrasOptionenDlg.OK
204 '   creating document with tabstops and save it
205     Kontext "DocumentWriter"
206     DocumentWriter.TypeKeys "a<Tab>b<Tab>c<Tab>d<Tab>e<Tab>f<Tab>g<Tab>h<Tab>i<Tab>j"
207     Call hFileSaveAsWithFilterKill ( gOfficePath + "user\work\tab25cm.odt", "Writer8")
208     Call hCloseDocument
209     sleep (2)
211 '   change tab stops
212     Call hNewDocument
213 '   set Default Tab Stop to 2,9cm
214     ToolsOptions
215     Call hToolsOptions ("WRITER","GENERAL")
216     Masseinheit.Select (2) ' cm
217 '   printlog "before " + Tabulatorenabstand.GetText
218     Tabulatorenabstand.SetText ( "2" + GetDecimalSeperator(Tabulatorenabstand.GetText) + "90" + mUnit )
219 '   printlog "after " + Tabulatorenabstand.GetText
220     Kontext "ExtrasOptionenDlg"
221     ExtrasOptionenDlg.OK
222     sleep (2)
224 '   load file in this environment
225     '///use "output\\writer\\w95\\tab25cm.odt" ///
226     Call hFileOpen (gOfficePath + "user\work\tab25cm.odt")
227     sleep (2)
228 '   check TabStops, have to be the ones this file was saved with
229     ToolsOptions
230     Call hToolsOptions ("WRITER","GENERAL")
231     Masseinheit.Select (2) ' cm
232 '   printlog "before " + Tabulatorenabstand.GetText
233     if Tabulatorenabstand.GetText <> ("2" + GetDecimalSeperator(Tabulatorenabstand.GetText) + "50" + mUnit) Then
234         warnlog "the tab stops didn't get saved in the document !!!"
235         printlog "should be 2,.50" + mUnit + ", is" + Tabulatorenabstand.GetText
236     end if
237     Kontext "ExtrasOptionenDlg"
238     ExtrasOptionenDlg.OK
239     Call hCloseDocument
240     Call hCloseDocument
242 '---------------------------------------------------------------------------------
243     Printlog ("'/// - all Check -> x ///")
245     ToolsOptions
246     Call hToolsOptions ("WRITER","GENERAL")
248 '   NurFuerAktuellesDokument.Check
249     Feldbefehle.Check
250     Diagramme.Check
251 '   FelderUndDiagrammeAktuellesDokument.Check
253     if (Nie.IsChecked = True) Then Immer.Check Else Nie.Check
255     bTempRadioBut(1) = Immer.IsChecked
256     bTempRadioBut(2) = AufNachfrage.IsChecked
257     bTempRadioBut(3) = Nie.IsChecked
259     Masseinheit.Select (2)
260     itemp = Masseinheit.GetSelIndex
261     sTemp = "3" + GetDecimalSeperator(Tabulatorenabstand.GetText) + "21" + mUnit
262     Tabulatorenabstand.SetText (sTemp)
264     Kontext "ExtrasOptionenDlg"
265     ExtrasOptionenDlg.OK
267     printlog ("'/// - check if all Checked ///")
268     ToolsOptions
269     Call hToolsOptions ( "WRITER" , "GENERAL" )
271 '   if not NurFuerAktuellesDokument.IsChecked            Then WarnLog "NurFuerAktuellesDokument o"
272     if not Feldbefehle.IsChecked                         Then WarnLog "Feldbefehle o"
273     if not Diagramme.IsChecked                           Then WarnLog "Diagramme o"
274 '   if not FelderUndDiagrammeAktuellesDokument.IsChecked Then WarnLog "FelderUndDiagrammeAktuellesDokument o"
276     if ( bTempRadioBut(1) <> Immer.IsChecked       ) Then WarnLog "Immer state changed"
277     if ( bTempRadioBut(2) <> AufNachfrage.IsChecked) Then WarnLog "AufNachfrage state changed"
278     if ( bTempRadioBut(3) <> Nie.IsChecked         ) Then WarnLog "Nie state changed"
280     if ( Masseinheit.GetSelIndex <> iTemp ) Then WarnLog "Masseinheit is not item " + iTemp + " it's: " + Masseinheit.GetSelIndex
281     if (LiberalMeasurement (sTemp,Tabulatorenabstand.GetText) <> TRUE ) Then WarnLog "Tabulatorenabstand is not " + sTemp + " it's: " + Tabulatorenabstand.GetText
283     printlog ("'/// - restore states ///")
285 '   if ( irgendwas(1) =  TRUE ) Then NurFuerAktuellesDokument.Check            Else NurFuerAktuellesDokument.UnCheck
286     if ( irgendwas(2) =  TRUE ) Then Feldbefehle.Check                         Else Feldbefehle.UnCheck
287     if ( irgendwas(3) =  TRUE ) Then Diagramme.Check                           Else _
288     if Feldbefehle.IsChecked Then Diagramme.UnCheck
289 '   if Diagramme.IsVisible Then Diagramme.UnCheck
290 '   if ( irgendwas(4) =  TRUE ) Then FelderUndDiagrammeAktuellesDokument.Check Else FelderUndDiagrammeAktuellesDokument.UnCheck
292     if ( bRadioBut(1) = TRUE ) Then Immer.Check
293     if ( bRadioBut(2) = TRUE ) Then AufNachfrage.Check
294     if ( bRadioBut(3) = TRUE ) Then Nie.Check
296     Masseinheit.Select (iMasseinheit) 'sw:ListBox:TP_LAYOUT_O
297     Tabulatorenabstand.SetText (sTabAbstand) '     sw:MetricField:TP_LAYOUT_OPT:MF_TAB
299     Kontext "ExtrasOptionenDlg"
300     ExtrasOptionenDlg.OK
302     Do Until GetDocumentCount = 0
303         Call hCloseDocument
304     Loop
305 endcase
307 '------------------------------------------------------------------------------
308 sub hGetAllOptionsWriterGeneralCaption
309     Dim fHoleTabPage as String
310     Dim fHoleTabPage2 as String
311     Dim lsHoleTabPage(100) as String
312     Dim lsHoleTabPage2(100) as String
313     dim i as integer
314     dim x as integer
315     dim y as integer ' for schleifen stuff
317     '/// usually there are 4 entries in the list for Options->Writer->General->Caption->Categorie ///'
318     '///+ if not, this routine is called ///'
319     '///+ The error only appears, if the wrong listItem is not called yet! ///'
321     lsHoleTabPage(0)=0
322     lsHoleTabPage2(0)=0
324     '/// on error, save before selecting entries to "output\\writer\\opt__" + iSprache + "." + gPlatGroup) ///
325     '/// on error, save entries after selecting all to "output\\writer\\opt2__" + iSprache + "." + gPlatGroup) ///
326     fHoleTabPage = ConvertPath(gOfficePath + "user\work\opt__" + iSprache + "." + gPlatGroup)
327     fHoleTabPage2 = ConvertPath(gOfficePath + "user\work\opt2_" + iSprache + "." + gPlatGroup)
329     '------------------------
330     Printlog "'///(1/3) Get all items before selecting smth. ///"
331     ' put them in lsHoleTabPage and write them to 'user\work\opt__...'
333     Call hNewDocument
335     ToolsOptions
336     Call hToolsOptions ("WRITER","AutoCaption")
337     Kontext "TabAutoCaption"
339     for x=1 to ObjectList.GetItemCount
340 '       Printlog x
341         ObjectList.Select (x)
342         ListAppend ( lsHoleTabPage(), ObjectList.GetText + " " + Category.GetItemCount)
343         for y=1 to Category.GetItemCount
344             Category.Select (y)
345             sleep (1)
346             ListAppend ( lsHoleTabPage(), "   " + Category.GetSelText )
347         next y
348     next x
350     Kontext "ExtrasOptionenDlg"
351     ExtrasOptionenDlg.OK
353     Call ListWrite(lsHoleTabPage(),fHoleTabPage, "utf8")
354     Printlog "list with all entries written to: "+fHoleTabPage
356 '   ------------------------
358     Printlog "'///(2/3) Select every ListItem & exit with OK ///"
359     ToolsOptions
360     Call hToolsOptions ("WRITER","AutoCaption")
361     Kontext "TabAutoCaption"
363     for x=1 to ObjectList.GetItemCount
364 '       Printlog "-" + x
365         ObjectList.Select (x)
366         i=0
367         while ( i < Category.GetItemCount )
368             try
369                 Category.Select (i+1)
370             catch
371                 Category.Select (i)
372             endcatch
373             i = Category.GetSelIndex
374 '           Printlog i
375             sleep (2)
376             Kontext "TabAutoCaption"
377         Wend
378     next x
380     Kontext "ExtrasOptionenDlg"
381     ExtrasOptionenDlg.OK
383     '------------------------
384     Printlog "'///(3/3) Get all items after selecting all ///"
385     ' put them in lsHoleTabPage2 and write them to 'user\work\opt2_...'
387     ToolsOptions
388     Call hToolsOptions ("WRITER","AutoCaption")
389     Kontext "TabAutoCaption"
390     for x=1 to ObjectList.GetItemCount
391 '       Printlog x
392         ObjectList.Select (x)
393         ListAppend ( lsHoleTabPage2(), ObjectList.GetText + " " + Category.GetItemCount)
394         for y=1 to Category.GetItemCount
395             Category.Select (y)
396             sleep (1)
397             ListAppend ( lsHoleTabPage2(), "   " + Category.GetSelText )
398         next y
399     next x
401     Call ListWrite(lsHoleTabPage2(),fHoleTabPage2, "utf8")
402     Printlog "list with all entries after selecting every entry written to: "+fHoleTabPage2
404 end sub
406 '------------------------------------------------------------------------------
408 testcase tToolsOptionsWriterAutoCaption
410     '/// look if properties get saved for each list item ///
411     '///+ take "Numbering" ListBox to verify this ///
413     ' checking Listentry '(7) = StarOffice 6.0 Impress' completely
415     dim vObjectList(10) as integer
416     dim vObjectListDescription(10) as string
417     Dim vCategory(10) as integer
418     Dim vCategoryTmp(10) as string
419     Dim vNumbering(10) as integer
420     Dim vCaptionSeparator(10) as string
421     Dim vPosition(10) as integer
422     Dim vLevel(10) as integer
423     Dim vChapterSeparator(10) as string
424     Dim vCharacterStyle(10) as integer
425     Dim vApplyBorderAndShadow(10) as boolean 
426     Dim NumberOfObjects as integer
427     dim i as integer
428     dim y as integer ' for schleifen stuff
430     '/// !no more Listentries than 9, you have to update the allocation for the var's! ///'
431     Call hNewDocument
432     printlog "'///- Tools/Options/Writer: AutoCaption ///"
434     printlog ("'/// - save states ///")
435     ToolsOptions
436     Call hToolsOptions ("WRITER","AutoCaption")
437     Kontext "TabAutoCaption"
439     NumberOfObjects = ObjectList.GetItemCount
440     Select Case gPlatGroup
441         Case "w95"
442             if (NumberOfObjects <> 9) then
443                 warnlog "Number of Object List is not correct"
444             end if
445         Case else
446             if (NumberOfObjects <> 8) then
447                 warnlog "Number of Object List is not correct"
448             end if
449     end select
451     for i=1 to NumberOfObjects
452         ObjectList.Select (i)
453         vObjectList(i) = ObjectList.IsChecked
454         vObjectListDescription(i) = ObjectList.GetText
455         vCategory(i) = Category.GetSelIndex
456         vNumbering(i) = Numbering.GetSelIndex
457         vCaptionSeparator(i) = CaptionSeparator.GetText
458         vPosition(i) = Position.GetSelIndex
459         vLevel(i) = Level.GetSelIndex
460         vChapterSeparator(i) = ChapterSeparator.GetText
461         vCharacterStyle(i) = CharacterStyle.GetSelIndex
462         vApplyBorderAndShadow(i) = ApplyBorderAndShadow.IsChecked
463     next i
465     '-- just checking the checkboxes of 'ObjectList'
466     printlog ("'/// - uncheck all object - checkboxes ///")
467     for i=1 to NumberOfObjects
468         ObjectList.Select (i)
469         ObjectList.UnCheck
470     next i
471     Kontext "ExtrasOptionenDlg"
472     ExtrasOptionenDlg.OK
473     
474     printlog ("'/// - verify if all unchecked and check all ///")
475     ToolsOptions
476     Call hToolsOptions ("WRITER","AutoCaption")
477     Kontext "TabAutoCaption"
478     for i=1 to NumberOfObjects
479         ObjectList.Select (i)
480         if ObjectList.IsChecked Then
481             WarnLog ObjectList.GetText & " is checked though it had been unchecked before"
482         else
483             ObjectList.Check
484         end if
485     next i
486     Kontext "ExtrasOptionenDlg"
487     ExtrasOptionenDlg.OK
489     printlog ("'/// - verify all checkboxes are checked ///")
490     ToolsOptions
491     Call hToolsOptions ("WRITER","AutoCaption")
492     Kontext "TabAutoCaption"
493     for i=1 to NumberOfObjects
494         ObjectList.Select (i)
495         if ( ObjectList.IsChecked = FALSE ) Then
496             WarnLog ObjectList.GetText & " is unchecked though it had been checked before"
497             ObjectList.Check
498         end if
499     next i
501     printlog ("'/// - change states ///")
502     '/// look if properties get saved for each list item
503     for i=1 to NumberOfObjects
504         ObjectList.Select (i)
505         if ObjectList.IsChecked Then
506             if i <= 7 then Numbering.Select i
507             CaptionSeparator.Settext "Caption Separator " & cstr(i)
508             ChapterSeparator.Settext cstr(i)
509             Level.Select i
510             CharacterStyle.Select i
511             Select Case i
512                 case 1:
513                     Category.Select 2 
514                     Position.Select 1
515                 case 2:
516                     Category.Select 3
517                     Position.Select 2
518                 case 3:
519                     Category.Select 4
520                     ApplyBorderAndShadow.Check
521                 case 4:
522                     Category.Select 5
523                     Position.Select 2
524                 case 5:
525                     Category.Select 2
526                     Position.Select 1
527                 case 6:
528                     Category.Select 3
529                     Position.Select 2
530                 case 7:
531                     Category.Select 4
532                     Position.Select 1
533                 case 8:
534                     Category.Select 5
535                     if Numbering.GetItemCount > 7 then
536                         Numbering.Select Numbering.GetItemCount
537                     else
538                         Numbering.Select 4
539                     end if
540                     Position.Select 2
541                 case 9:
542                     Category.Select 2
543                     if Numbering.GetItemCount > 7 then
544                         Numbering.Select Numbering.GetItemCount
545                     else
546                         Numbering.Select 5
547                     end if
548                     Position.Select 1
550                 end select
551                 vCategoryTmp(i) = Category.GetSelText
552         else
553             Warnlog ObjectList.GetText & " is not checked: Verify test script"
554         end if
555     next i
556     Kontext "ExtrasOptionenDlg"
557     ExtrasOptionenDlg.OK
559     printlog ("'/// - SO quit - start ///")
561     Call wOfficeRestart
563     printlog ("'/// - checking states ///")
564     ToolsOptions
565     Call hToolsOptions ("WRITER","AutoCaption")
566     Kontext "TabAutoCaption"
567     for i=1 to NumberOfObjects
568         printlog "-   checking: " & ObjectList.Gettext
569         ObjectList.Select (i)
570                 wait 500
571         if ObjectList.IsChecked Then
572             if i <= 7 then
573                 if Numbering.GetSelIndex <> i then
574                     Warnlog "-    'Numbering' changed after restart"
575                 else
576                     printlog "-   'Numbering' => ok"
577                 end if
578             end if
579             if CaptionSeparator.Gettext <> "Caption Separator " & cstr(i) then
580                 Warnlog "-    'Caption Separator' changed after restart"
581             else
582                 printlog "-    'Caption Separator' => ok"
583             end if
584             if ChapterSeparator.Gettext <>  cstr(i) then
585                 Warnlog "-    'Chapter Separator' changed after restart"
586             else
587                 printlog "-    'Chapter Separator' => ok"
588             end if
589             if Level.GetSelIndex <> i then 
590                 Warnlog "-    'Level' changed after restart"
591             else
592                 Printlog "-    'Level' => ok"
593             end if
594             if CharacterStyle.GetSelIndex <> i then
595                 Warnlog "-    'Character Style' changed after restart"
596             else
597                 printlog "-    'Character Style' => ok"
598             end if
600             if Category.GetSelText <> vCategoryTmp(i) then
601                 Warnlog "-    'Category' changed after restart. Not " & vCategoryTmp(i) & " but " & Category.GetSelText
602             else
603                 printlog "-    'Category' => ok"
604             end if
606             Select Case i
607                 case 1:
608                     if Position.GetSelIndex <> 1 then
609                         Warnlog "-    'Position' changed after restart"
610                     else
611                         printlog "-    'Position' => ok"
612                     end if
614                 case 2:
615                     if Position.GetSelIndex <> 2 then
616                         Warnlog "-    'Position' changed after restart"
617                     else
618                         printlog "-    'Position' => ok"
619                     end if
621                 case 3:
622                     if Position.IsEnabled = true then
623                         Warnlog "-    'Position' should be disabled"
624                     else
625                         printlog "-    'Position' disabled => ok"
626                     end if
627                     
628                     if ApplyBorderAndShadow.IsChecked = false then
629                         Warnlog "-    'Apply Border and Shadow' changed after restart"
630                     else
631                         printlog "-    'Apply Border and Shadow => ok"
632                     end if
634                 case 4:
635                     if Position.GetSelIndex <> 2 then
636                         Warnlog "-    'Position' changed after restart"
637                     else
638                         printlog "-    'Position' => ok"
639                     end if
641                 case 5:
642                     if Position.GetSelIndex <> 1 then
643                         Warnlog "-    'Position' changed after restart"
644                     else
645                         printlog "-    'Position' => ok"
646                     end if
648                 case 6:
649                     if Position.GetSelIndex <> 2 then
650                         Warnlog "-    'Position' changed after restart"
651                     else
652                         printlog "-    'Position' => ok"
653                     end if
655                 case 7:
656                     if Position.GetSelIndex <> 1 then
657                         Warnlog "-    'Position' changed after restart"
658                     else
659                         printlog "-    'Position' => ok"
660                     end if
662                 case 8:
663                     if Numbering.GetItemCount > 7 then
664                         if Numbering.GetSelIndex <> Numbering.GetItemCount then
665                             Warnlog "-    'Numbering' changed after restart"
666                         else
667                             printlog "-    'Numbering' => ok"
668                         end if
669                     else
670                         if Numbering.GetSelIndex <> 4 then
671                             Warnlog "-    'Numbering' changed after restart"
672                         else
673                             printlog "-    'Numbering' => ok"
674                         end if
675                     end if
677                     if Position.GetSelIndex <> 2 then
678                         Warnlog "-    'Position' changed after restart"
679                     else
680                         printlog "-    'Position' => ok"
681                     end if
683                 case 9:
684                     if Numbering.GetItemCount > 7 then
685                         if Numbering.GetSelIndex <> Numbering.GetItemCount then
686                             Warnlog "-    Numbering changed after restart"
687                         else
688                             printlog "-    Numbering => ok"
689                         end if
690                     else
691                         if Numbering.GetSelIndex <> 5 then
692                             Warnlog "-    'Numbering changed after restart"
693                         else
694                             printlog "-    'Numbering' => ok"
695                         end if
696                     end if
698                     if Position.GetSelIndex <> 1 then
699                         Warnlog "-    'Position' changed after restart"
700                     else
701                         printlog "-    'Position' => ok"
702                     end if
704             end select
705         else
706             Warnlog "-   " & ObjectList.GetText & " is not checked"
707         end if
708     next i
710     Kontext "ExtrasOptionenDlg"
711     ExtrasOptionenDlg.OK
713     printlog ("'/// - restore states ///")
715     ToolsOptions
716     Call hToolsOptions ("WRITER","AutoCaption")
717     Kontext "TabAutoCaption"
719     for i=1 to NumberOfObjects
720         ObjectList.Select (i)
721         if ObjectList.IsChecked then
722             if vCategory(i) > Category.GetItemCount then
723                 Category.Select Category.GetItemCount
724             else
725                 Category.Select vCategory(i)
726             end if
727             Numbering.Select vNumbering(i)
728             CaptionSeparator.SetText vCaptionSeparator(i)
729             if Position.IsEnabled then Position.Select vPosition(i)
730             Level.Select vLevel(i)
731             ChapterSeparator.Settext vChapterSeparator(i)
732             CharacterStyle.Select vCharacterStyle(i)
733             if ApplyBorderAndShadow.IsEnabled then
734                 Select Case vApplyBorderAndShadow(i)
735                     Case true
736                         ApplyBorderAndShadow.Check
737                     case false
738                         ApplyBorderAndShadow.Uncheck
739                 end select
740             end if
741         end if
742         Select case vObjectList(i)
743             Case true
744                 ObjectList.Check
745             case false
746                 ObjectList.Uncheck
747         end select
748     next i
751     Kontext "ExtrasOptionenDlg"
752     ExtrasOptionenDlg.OK
754     Do Until GetDocumentCount = 0
755         Call hCloseDocument
756     Loop
757 endcase
759 '------------------------------------------------------------------------------
761 testcase tToolsOptionsWriterGeneral
762     Dim i as integer
763     Dim ist_aktualisiert as boolean
764     Dim CompareThis as string
766     ' State is saved with document. Thats why I use 3 docs
767     Call hNewDocument
768     printlog "'///- Extras / Optionen / Sonstiges / Verkn?pfungen aktualisieren ///"
769     ToolsOptions
770     Call hToolsOptions("WRITER","GENERAL")
771     printlog "'///- Update links when loading -> always ///"
772     Immer.Check
773     Kontext "ExtrasOptionenDlg"
774     ExtrasOptionenDlg.OK
775     FileOpen
776     Kontext "OeffnenDlg"
777     Dateiname.SetText ConvertPath(gtesttoolpath + "writer\optional\input\masterdoc\update1.sxg")
778     Oeffnen.Click
779     Kontext "Active"
780     if active.exists then
781         if Active.GetRT = 304 then
782             Warnlog Active.Gettext
783             Warnlog "Update all links should not appear!"
784             wait 500
785             try
786                 Active.yes
787             catch
788                 Active.Ok
789             endcatch
790         end if
791     end if
792     Sleep 2
793     Call hCloseDocument
794     Sleep 2
796     ToolsOptions
797     Call hToolsOptions("WRITER","GENERAL")
798     if not Immer.IsChecked then Warnlog "Option 'always' has not been changed"
799     printlog "'///- Update links when loading -> On request ///"
800     AufNachfrage.Check
801     Kontext "ExtrasOptionenDlg"
802     ExtrasOptionenDlg.OK
803     FileOpen
804     Kontext "OeffnenDlg"
805     Dateiname.SetText ConvertPath(gtesttoolpath + "writer\optional\input\masterdoc\update2.sxg")
806     Oeffnen.Click
807     Sleep 2
808     Kontext "Active"
809     if active.exists then
810         if Active.GetRT = 304 then
811             Active.yes
812         else
813             Warnlog "Update all links should appear!"
814         end if
815     end if
816     Sleep 2
817     Call hCloseDocument
818     Sleep 2
820     ToolsOptions
821     Call hToolsOptions("WRITER","GENERAL")
822     if not AufNachfrage.IsChecked then Warnlog "Option 'On request' has been changed"
823     printlog "'///- Update links when loading -> Never ///"
824     Nie.Check
825     Kontext "ExtrasOptionenDlg"
826     ExtrasOptionenDlg.OK
827     FileOpen
828     Kontext "OeffnenDlg"
829     Dateiname.SetText ConvertPath(gtesttoolpath + "writer\optional\input\masterdoc\update3.sxg")
830     Oeffnen.Click
831     Kontext "Active"
832     if active.exists then
833         if Active.GetRT = 304 then
834             Warnlog "Update all links should not appear!"
835             Active.yes
836          end if
837     end if
838     Sleep 3
839     Kontext "DocumentWriter"
840     DocumentWriter.TypeKeys "<Up>",10
841     DocumentWriter.TypeKeys "<Mod1 Home>", 4
842     for i=1 to 4
843         DocumentWriter.TypeKeys "<Shift End>"
844         try
845             EditCopy
846             if i <> 4 and GetClipboardtext <> "Dies ist der Text" then ist_aktualisiert = true
847         catch
848             ist_aktualisiert=false
849         endcatch
850         DocumentWriter.TypeKeys "<Mod1 End>"
851         wait 500
852         DocumentWriter.TypeKeys "<Down><Home>"
853     next i
854     if ist_aktualisiert=true then Warnlog " Document has been updated !"
855     Sleep 2
856     Call hCloseDocument
857     Sleep 2
859     ToolsOptions
860     Call hToolsOptions("WRITER","GENERAL")
861     if Nie.IsChecked = false then Warnlog "Option 'Never' is not checked"
862     AufNachfrage.Check
863     Kontext "ExtrasOptionenDlg"
864     ExtrasOptionenDlg.OK
866     Do Until GetDocumentCount = 0
867         Call hCloseDocument
868     Loop
869 endcase
871 '------------------------------------------------------------------------------
873 testcase tToolsOptionsWriterMailMerge
875     Call hNewDocument
876     printlog ("'///- Tools/Options/Writer: Mail Merge ///")
877     Kontext "Navigator"
878     if Navigator.Exists then ViewNavigator
879     ToolsOptions
880     Call hToolsOptions ("WRITER","MailMergeEMail")
882     '/// Fill out all fields
883     printlog " - fill out Mail Settings"
884     Kontext "TabMailMergeEmail"
885     YourName.Settext "Fredrik Haegg"
886     EmailAddress.Settext "helge.delfs@sun.com"
887     SendReplies.Check
888     ReplyAddress.Settext "fredrikh@openoffice.org"
889     ServerName.Settext "MySMTP-Server"
890     UseSecure.Check
891     
892     '/// Change details for Server Authentication
893     printlog " - fill out Authentication Settings"
894     ServerAuthentication.Click
895     wait 500
896     Kontext "ServerAuthentication"
897     SMTPauthentication.Check
898     
899     IncomingMailServer.Check
900     Server.Settext "MySMTP-Server"
901     Port.Settext "111"
902     IMAP.Check
903     User.Settext "MyAuthenticationUserName"
904     Password.Settext "MyAuthenticationPassword"
905     ServerAuthentication.Ok
906     
907     '/// Close 'Server Authentication dialog, reopen and check values set
908     printlog " - check settings"
909     Kontext "TabMailMergeEmail"
910     ServerAuthentication.Click
911     wait 500
912     Kontext "ServerAuthentication"
913     if Not SMTPauthentication.IsChecked then Warnlog "SMTP Authentication is not checked anymore"
914     if Not IncomingMailServer.IsChecked then Warnlog "Incoming Mail Server has been changed"
915     if Server.Gettext <> "MySMTP-Server" then Warnlog "Servername has been changed"
916     if Port.Gettext <> "111" then Warnlog "Server Port has been changed"
917     if Not IMAP.IsChecked then Warnlog "IMAP-state has been changed"
918     if User.Gettext <> "MyAuthenticationUserName" then Warnlog "Authentication username has been changed"
919     if Password.Gettext <> "MyAuthenticationPassword" then Warnlog "Authentication password has been changed"
920     
921     '/// Change settings for SMTP outgoing
922     SMTPOutgoing.Check
923     OutgoingUsername.Settext "MyOutgoingUsername"
924     OutgoingPassword.Settext "MyOutgoingPassword"
925     ServerAuthentication.Ok
926     
927     '/// Close options dialog and restart the office
928     Kontext "ExtrasOptionenDlg"
929     ExtrasOptionenDlg.Ok
930     printlog " - restart office"
931     Call wOfficeRestart
933     '/// Reopen Tools/Options and check settings
934     printlog " - check settings"
935     ToolsOptions
936     Call hToolsOptions ("WRITER","MailMergeEMail")
938     Kontext "TabMailMergeEmail"
939     if YourName.Gettext <> "Fredrik Haegg" then Warnlog "'Your Name' has been changed after a restart"
940     if EmailAddress.Gettext <> "helge.delfs@sun.com" then Warnlog "'Email Address' has been changed after a restart"
941     if Not SendReplies.IsChecked then Warnlog "'Send replies' has been changed after a restart"
942     if ReplyAddress.Gettext <> "fredrikh@openoffice.org" then Warnlog "'Reply adresses' has been changed after a restart"
943     if ServerName.Gettext <> "MySMTP-Server" then Warnlog "'Server name' has been changed after a restart"
944     if UseSecure.IsChecked = false then Warnlog "'Secure' has been changed after a restart"
946     ServerAuthentication.Click
947     wait 500
948     Kontext "ServerAuthentication"
949     if Not SMTPOutgoing.IsChecked then Warnlog "'SMTP Server' has been changed after a restart"
950     if OutgoingUsername.Gettext <> "MyOutgoingUsername" then Warnlog "'Username' has been changed after a restart"
951     if OutgoingPassword.Gettext <> "MyOutgoingPassword" then Warnlog "'Password' has been changed after a restart"
952     
953     ServerAuthentication.Ok
955     '/// Check 'Test Settings' button
956     Kontext "TabMailMergeEmail"
957     TestSettings.Click
958     
959     Kontext "TestAccountSettings"
960     Do
961         if TaskStatusListBox.GetItemCount > 0 then
962             TestAccountSettings.Cancel
963             exit do
964         end if
965         wait 500
966     Loop
967     if TestAccountSettings.Exists then TestAccountSettings.Cancel
968     
969     '/// Reset all states
970     Kontext "TabMailMergeEmail"
971     ServerAuthentication.Click
972     
973     Kontext "ServerAuthentication"
974     IncomingMailServer.Check
975     Server.Settext ""
976     Port.Settext "110"
977     User.Settext ""
978     Password.Settext ""
980     SMTPOutgoing.Check
981     OutgoingUsername.Settext ""
982     OutgoingPassword.Settext ""
984     SMTPauthentication.UnCheck
985     ServerAuthentication.Ok
987     Kontext "TabMailMergeEmail"
988     YourName.Settext ""
989     EmailAddress.Settext = ""
990     ReplyAddress.Settext ""
991     ServerName.Settext ""
992     SendReplies.UnCheck
993     UseSecure.Uncheck
995     '/// Close options dialog and restart the office
996     Kontext "ExtrasOptionenDlg"
997     ExtrasOptionenDlg.Ok
999     Do Until GetDocumentCount = 0
1000         Call hCloseDocument
1001     Loop
1002 endcase
1003 '------------------------------------------------------------------------------