Update ooo320-m1
[ooovba.git] / testautomation / framework / tools / includes / options_tools.inc
blob4012b437ca14412de74fbc91b6df1d20929883da
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: options_tools.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 12:19:06 $
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 : thorsten.bosbach@sun.com
36 '* short description : tools for options tests
38 '\******************************************************************************
40 sub GetPathList ( ls1 () as String, ls2 () as String, ls3 () as String )
42     Dim lsInterim ( 50 ) as String
43     Dim i as Integer
44     Dim sList as String
45     Dim bNewCreate as Boolean
46     '///routine to get the correct comparison list for path-options
47     '///+ if the list does not exist => CreatePathList
48     '///+ you can find the lists for all languages in separate files
49     '///+[TesttoolPath]\framework\options\input\paths_[LanguageCode].txt
50     ls1 (0) = 0 : ls2 (0) = 0 :  ls3 (0) = 0
51     sList = gTesttoolPath + "framework\optional\input\options\paths_" + iSprache + ".txt"
52     sList = convertpath( sList )
54     if App.Dir ( sList ) = "" then
55         bNewCreate = TRUE
56         CreatePathList
57     else
58         bNewCreate = FALSE
59     end if
61     if bAsianLan = TRUE then
63         select case iSystemSprache
64         case 01, 33, 34, 39, 46, 49
65             ListRead ( lsInterim (), sList, "utf8" )
66         case else
68             if bNewCreate = FALSE then
69                 CreatePathList
70             endif
72             ListRead ( lsInterim (), sList, "utf8" )
73         end select
75     else
76         ListRead ( lsInterim (), sList , "utf8" )
77     end if
79     for i = 1 to ListCount ( lsInterim () )
80         ListAppend ( ls1 (), Left ( lsInterim (i), Instr ( lsInterim (i), ";" ) - 1 ) )
81         ListAppend ( ls2 (), Mid ( lsInterim (i), Len ( lsInterim (i) ) - 2, 1 ) )
82         ListAppend ( ls3 (), Right  ( lsInterim (i), 1 ) )
83     next i
85 end sub
87 '*******************************************************************************
89 sub CreatePathList
91     Dim i as Integer, iNum as Integer
92     Dim sType as String, sVario as String, sList as String
93     Dim lsInterim ( 50 ) as String
94     '///create the comparison list for path-options
95     '///+[TesttoolPath]\framework\options\input\paths_[LanguageCode].txt
96     sList = ConvertPath ( gTesttoolPath + "framework\optional\input\options\paths_" + iSprache + ".txt" )
97     call hNewDocument()
98     ToolsOptions
99     hToolsOptions ( "StarOffice", "Paths" )
101     for i=1 to Typ.GetItemCount
103         Kontext "TabPfade"
105         if i=1 then
106             Typ.TypeKeys "<Down>"
107             Typ.TypeKeys "<Home>"
108         else
109             Typ.TypeKeys "<Down>"
110         end if
112         sType = Typ.GetSelText
114         if Bearbeiten.IsEnabled then
115             Bearbeiten.Click
117             Kontext "OeffnenDlg"
119             if OeffnenDlg.Exists then
120                 sVario = 1
121                 iNum = 1
122                 OeffnenDlg.Cancel
123             end if
125             Kontext "PfadeAuswaehlen"
126             if PfadeAuswaehlen.Exists then
127                 sVario = 2
128                 iNum = Pfade.GetItemCount
129                 PfadeAuswaehlen.Cancel
130             end if
132         else
133             sVario = 0
134             iNum = 0
135         end if
137         ListAppend ( lsInterim(), sType + ";" + sVario + ";" + iNum )
138     next i
140     if bAsianLan = FALSE then
141         Warnlog "The file for comparison does not exists. The file will be written!"
142         Warnlog "Please check : " + sList
143         ListWrite ( lsInterim(), sList )
144     else
145         Warnlog "The file for comparison does not exists. The file will be written!"
146         Warnlog "Please check : " + sList
147         ListWrite ( lsInterim(), sList, "utf8" )
148     end if
150 end sub
152 '*******************************************************************************
154 function URLGraphicCheck ( bRelativ as Boolean, sFile as String )
156     Dim sGraphicPath, sTestString, sDummy as String
157     Dim lsFile ( 200 ) as String
158     Dim i as Integer
159     '///check if the pathname of a linked file is relative or not ( only for func_LoadSaveGeneral_2 )
160     sGraphicPath = ( "/share/gallery/photos/desert1.jpg" )
161     ListRead ( lsFile(), sFile )
163     for i=1 to ListCount ( lsFile() )
165         if Instr( lsFile(i), "IMG SRC" ) <> 0 then
166             sTestString = lsFile(i)
167             i=1000
168         end if
170     next i
172     if bRelativ = TRUE then
174         if Instr( sTestString, "../.." )      = 0  then
175             Warnlog "Bug => The path is not relativ!"
176         endif
178         if Instr( sTestString, "file:///" )   <> 0 then
179             Warnlog "Bug => The relativ path contains 'file:///'"
180         endif
182     else
183         if Instr( sTestString, "file:///" )   = 0  then
184             Warnlog "Bug => The path is relativ!"
185         endif
187         if Instr( sTestString, "../.." )      <> 0 then
188             Warnlog "Bug => The nonrelativ path ( file:/// ) is not correct. It contains '../..'!"
189         endif
191     end if
193     if Instr( sTestString, sGraphicPath ) = 0 then
194         Warnlog "Wrong path to file, the graphic-part in filename is not correct!"
195     endif
197 end function
199 '*******************************************************************************
201 sub DialogTestForViewOptions
203     FormatParagraph
205     Kontext
206     active.SetPage TabEinzuegeUndAbstaende
207     Active.SetPage TabAusrichtungAbsatz
208     active.SetPage TabTextfluss
210     try
211         active.SetPage TabAsianTypography
212     catch
213     endcatch
215     active.SetPage TabNumerierungAbsatz
216     active.SetPage TabTabulator
217     active.SetPage TabInitialen
218     active.SetPage TabUmrandung
219     active.SetPage TabHintergrund
221     kontext "TabHintergrund"
222     TabHintergrund.Close
223     EditSearchAndReplace
225     Kontext "FindAndReplace"
226     FindAndReplace.Close
228 end sub
230 '*******************************************************************************
232 sub Make3D
234     '///test with 3D-objects when 3D-options are changed ( view page )
235     gApplication = "IMPRESS"
236     call hNewDocument()
237     WL_SD_Wuerfel
238     Sleep 1
240     Kontext "Documentimpress"
241     DocumentImpress.MouseDown 50, 50
242     DocumentImpress.MouseMove 30, 60
243     DocumentImpress.MouseUp 30, 60
244     Sleep 3
245     call hCloseDocument()
246     gApplication = "WRITER"
248 end sub
250 '*******************************************************************************
252 sub DeleteColor( cColorName as String )
253     'Deletes a color by name. The color is selected in the listbox
254     'and should - if it exists - be visible in the entryfield above the list.
255     'If this is not the case the color probably not exists and thus
256     'cannot be deleted.
257     'Remember i18n, only use this sub for colors you created yourself!
258     dim iItems as Integer     'Number of listed colors
259     dim i as Integer          'counter
260     dim bExists as Boolean    'TRUE if color has been successfully deleted
261     dim iPos as Integer       'Position of the deleted color
262     dim sColor as string
264     printlog "DeleteColor:: - Trying to delete color: '" + cColorName + "'"
265     Kontext "TabFarben"
266     bExists = FALSE
267     iItems = Farbe.getItemCount
268     i = 0
269     while ((i<iItems) AND (NOT bExists))
270         sColor = Farbe.getItemText(i+1)
271         if (sColor = cColorName) then
272             Loeschen.Click
273             Kontext "Active"
274             if Active.Exists then
275                 printlog active.getText
276                 Active.Yes
277             else
278                 qaErrorlog "No warning about deleting the color."
279             endif
280             printlog " - successfully deleted color @ " + (i+1) + "/" + iItems
281             bExists = TRUE
282         else
283             inc (i)
284         endif
285 '        if FarbName.getText = cColorName then
286     wend
287     iPos = i+1
289     if bExists then
290         'The userdefined colors usually are appended to the list. If they are
291         'somewhere else this might be a bug.
292         if iItems <> iPos then
293             warnlog  "   The color was not located at the end of the list."
294             printlog "   The Order of the list might be corrupted"
295         end if
296     else
297         'Inform that the color did not exist. This usually is perfectly ok.
298         printlog "   (The color was not deleted, it was not found)"
299     endif
300 end sub
302 '*******************************************************************************
304 sub modifyColorRGB_PGUP( iColor as Integer )
305     'The current color's values are set to maximum (255) for RGB
306     printlog( "modifyColorRGB_PGUP:: - change the color by pressing PAGE UP in RGB listboxes." )
307     
308     Kontext "TabFarben"
309     Farbe.Select(iColor)
310     R.TypeKeys("<PageUp>")
311     G.TypeKeys("<PageUp>")
312     B.TypeKeys("<PageUp>")
313     printlog("modifyColorRGB_PGUP:: Press 'modify'")
314     Aendern.Click()
315     Sleep (1)
316 end sub
318 '*******************************************************************************
320 sub createNewColor( aColor() as String )
321     ' INPUT : array: (1): Name; (2): Red value; (3): Green value; (4): Blue value
322     ' OUTPUT: 
323     'The desired color is selected by name and created.
324     'If it already exists, there is a problem
325     printlog( "createNewColor:: Adding a color to the list: '" + aColor(1) + "'"
326     Kontext "TabFarben"
327     FarbName.setText(aColor(1))
328     R.SetText(aColor(2))
329     G.SetText(aColor(3))
330     B.SetText(aColor(4))
331     Sleep(1)
332     Hinzufuegen.Click
333     Sleep(1)
334     
335     Kontext "DuplicateNameWarning"
336     if DuplicateNameWarning.Exists then
337         warnlog "createNewColor:: Color already exists."
338         DuplicateNameWarning.OK
339         Kontext "NameDlg"
340         if NameDlg.Exists then
341             printlog "createNewColor:: Naming dialog shown. Good, cancelling"
342             NameDlg.Cancel
343         else
344             warnlog "createNewColor:: Naming dialog didn't came up."
345         end if
346     else
347         printlog "createNewColor:: New color has been created"
348     end if
349 end sub
351 '*******************************************************************************
353 sub getColorRGB( aColor() as String )
354     ' INPUT : array with index 1-4 that will get deleted
355     ' OUTPUT: array: (1): Name; (2): Red value; (3): Green value; (4): Blue value
356     'A RGB color always has four attributes:
357     'The name and the three RGB values (0...255)
358     printlog( "GetColorRGB:: Determining the current color" )
359     FarbModell.Select(1)
360     
361     aColor(1) = FarbName.GetText()
362     aColor(2) = R.GetText()
363     aColor(3) = G.GetText()
364     aColor(4) = B.GetText()
365     
366     printlog( "GetColorRGB:: N = " & aColor(1) )
367     printlog( "GetColorRGB:: R = " & aColor(2) )
368     printlog( "GetColorRGB:: G = " & aColor(3) )
369     printlog( "GetColorRGB:: B = " & aColor(4) )
370 end sub
372 '*******************************************************************************
374 sub compareTwoColorsRGB( aColor() as String )
375     ' INPUT : array: (1): Name; (2): Red value; (3): Green value; (4): Blue value
376     '         and a selected color
377     ' OUTPUT: 
378     'Comparision of two colors. Tested values are:
379     'Name and three RGB values
380     'aColor is the expected value, bColor is the current color
381     dim i as Integer
382     dim bColor(4) as String
384     printlog( "compareTwoColorsRGB:: Compare saved default color with the current" )
385     call getColorRGB(bColor()) 
386     for i = 1 to 4
387         if aColor(i) <> bColor(i) then
388             warnlog( "compareTwoColorsRGB:: " & "(" & i & ") Expected: '" _
389             & aColor( i ) & "' found: '" & bColor(i) & "'" )
390         else
391             printlog( "compareTwoColorsRGB:: " & "(" & i & ") OK" )
392         endif
393     next i
394 end sub
396 '*******************************************************************************
398 sub ModifyColorRGB( aColor() as String )
399     'A RGB color always has four attributes:
400     'The name and the three RGB values (0...255)
402     Kontext "TabFarben"
403     FarbName.SetText( aColor( 1 ) )
404     FarbModell.Select( 1 )
405     R.SetText( aColor( 2 ) )
406     G.SetText( aColor( 3 ) )
407     B.SetText( aColor( 4 ) )
408     Aendern.Click
409 end sub