merge the formfield patch from ooo-build
[ooovba.git] / testautomation / framework / optional / includes / basic_formcontrols.inc
blobc6c9278ed57b1168809b374ae2c9df514bda3b24
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: basic_formcontrols.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 12:18:13 $
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 : joerg.skottke@sun.com
36 '* short description : Basic form-controls
38 '\******************************************************************************
40 testcase tAllControlsOnDialog( cMajor as string )
42     printlog( "Insert all available controls into a BASIC dialog and verify that changed settings persist a save/load cycle" )
44     dim iApplication as Integer ' numeric expression for gApplication
45     dim cApplication as string  ' Name of the current application
46     
47     dim lsControlNames( 30 ) as string  ' list containing the names of the controls
49     ' number of controls and the name of the current control
50     dim iCurrentControl as integer
51     dim sCurrentControl as string
53     ' the workfile and the filter (Tested for 569, 645, 680)
54     dim sFile as string
56     ' errorstatus: if false, something went wrong and the test cancels
57     ' trying to recover somehow
58     dim bOpen as boolean
59     dim brc as boolean 
60     dim irc as integer
61     
62     const CMODULE = "tacod" ' abbreviation for tAllControlsOnDialog
64     printlog( "Perform the test for one application only: WRITER" )
65     for iApplication = 1 to 1
66     
67         printlog( "Set document type" )
68         cApplication = hNumericDoctype( iApplication )
70         printlog( "Build the filename" )
71         sFile = hGetWorkPath() & "basic" & hGetSuffix( cMajor )
72         sFile = ConvertPath( sFile )
73         printlog( "Using file: " & sFile )
74         
75         printlog( "Delete the file, if it exists" )
76         hDeleteFile( sFile )
77                 
78         printlog( "Open a second document" )
79         printlog( "" )
80         printlog( cApplication )
81         brc = hCreateDocument()
82         if ( not brc ) then
83             warnlog( "Failed to create a new document, aborting" )
84             goto endsub
85         endif
87         printlog( "Create a new module for the new document" )
88         printlog( "Create a new dialog in BasicIDE" )
89         printlog( "Open the macro controls float" )
90         bOpen = hInitFormControls( CMODULE )
91         if ( not bOpen ) then
92             printlog( "Aborting due to previous errors" )
93             call hCloseDocument()
94             goto endsub
95         endif
97         printlog( "Insert all controls into the dialog" )
98         for iCurrentControl = 1 to ICONTROLCOUNT
100             sCurrentControl = hDrawControlOnDialog( iCurrentControl )
101             listappend( lsControlNames() , sCurrentControl )
102             hOpenPropertyBrowser()
103             hPBSetControlName( sCurrentControl )
104             hClosePropertyBrowser()
106         next iCurrentControl
107         
109         Kontext "BASICIDE"
110         printlog( "close the BASIC-IDE" )
111         hCloseBasicIde()
112         
113         
114         printlog( "" )
115         printlog( "Test case 1: Verify that settings survive a close and reopen of the BASIC IDE" )
116         
117         ToolsMacro_uno
118         kontext "Makro"
119         irc = hSelectNodeByName( MakroAus , CMODULE )
120         if ( irc = 0 ) then
121             qaerrorlog( "Searching node by name failed. Using fallback" )
122             hSelectTheLastnode( MakroAus )
123         else
124             printlog( "The node was found. Good." )
125         endif
126         
127         brc = hIsMacroEditButtonEnabled()
128         if ( not brc ) then
129             warnlog( "Edit-Button is not enabled, the test cannot continue" )
130             kontext "Makro"
131             Makro.cancel()
132             brc = hDestroyDocument()
133             goto endsub
134         endif
135             
136         printlog( "Click 'Edit' to edit the module" )
137         printlog( "Edit the module" )
138         Bearbeiten.Click()
139         if ( WaitSlot <> WSFinished ) then
140             warnlog( "Slot not finished after 1 second" )
141         endif
143         kontext "BasicIDE"
144         printlog( "Find the dialog we created before" )
145         ' try to find our dialog again by stepping through the tabbar
146         bOpen = hFindFirstDialog()
147         if ( not bOpen ) then
148             warnlog( "Could access dialog, aborting test" )
149             hCloseBasicIde()
150             brc = hDestroyDocument()
151             goto endsub
152         endif
154         printlog( "Open the macro controls float" )
155         ' if the dialog is open, open the macro controls toolbar as well,
156         ' we need access to the "properties" button
157         bOpen = hShowMacroControls()
158         if ( not bOpen ) then
159             warnlog( "Could not open macro controls, aborting" )
160             hCloseBasicIde()
161             brc = hDestroyDocument()
162             goto endsub
163         endif
164         
165         printlog( "Select every control, open its properties and verify its name, close properties" )
166         for iCurrentControl = 1 to ICONTROLCOUNT
168             if ( instr( gtSysName, "Solaris" ) > 0 ) then
169                 qaerrorlog( "Skipping frame control on Solaris" )
170             else
171                 hSelectControl( iCurrentControl )
172                 hOpenPropertyBrowser()
173                 sCurrentControl = lsControlNames( iCurrentControl )
174                 hPBGetControlName( sCurrentControl )
175                 hClosePropertyBrowser()
176             endif
177             
178         next iCurrentControl
179         
180         ' we need to delete the list-content otherwise we run into index-problems
181         ListAllDelete( lsControlNames() )
182        
183         printlog( "Cleanup: Close the BASIC-IDE" )
184         printlog( "Close the BASIC IDE" )
185         hCloseBasicIde()        
186         
187         if ( getDocumentCount <> 1 ) then
188             warnlog( "Number of open documents is incorrect, expected one only" )
189         endif 
191         printlog "Save the document"
192         printlog( "save the document" )
193         Call hFileSaveAsKill( sFile )
195         printlog "Close it"
196         printlog( "close the document" )
197         brc = hDestroyDocument()
199         printlog( "" ) 
200         printlog( "Test case 2: Verify that all items keep their names after close and reload of the document" )
201         
202         printlog( "Open the file again" )
203         printlog( "Open the document" )
204         hFileOpen( sFile )
206         printlog "Open tools/macro and select the last module for the current document"
207         printlog( "open the basic-IDE of this document, open controls, activate 'Select-mode' and open the properties" )
208         ToolsMacro_uno
209         kontext "Makro"
210         irc = hSelectNodeByName( MakroAus , CMODULE )
211         if ( irc = 0 ) then
212             qaerrorlog( "Searching node by name failed. Using fallback" )
213             hSelectTheLastnode( MakroAus )
214         else
215             printlog( "The node was found. Good." )
216         endif
217         
218         brc = hIsMacroEditButtonEnabled()
219         if ( not brc ) then
220             warnlog( "Edit-Button is not enabled, the test cannot continue" )
221             kontext "Makro"
222             Makro.cancel()
223             brc = hDestroyDocument()
224             goto endsub
225         endif
226             
227         printlog( "Click 'Edit' to edit the module" )
228         printlog( "Edit the module" )
229         Bearbeiten.Click()
230         if ( WaitSlot <> WSFinished ) then
231             warnlog( "Slot not finished after 1 second" )
232         endif
234         kontext "BasicIDE"
235         printlog( "Find the dialog we created before" )
236         ' try to find our dialog again by stepping through the tabbar
237         bOpen = hFindFirstDialog()
238         if ( not bOpen ) then
239             warnlog( "Could access dialog, aborting test" )
240             hCloseBasicIde()
241             brc = hDestroyDocument()
242             goto endsub
243         endif
245         printlog( "Open the macro controls float" )
246         ' if the dialog is open, open the macro controls toolbar as well,
247         ' we need access to the "properties" button
248         bOpen = hShowMacroControls()
249         if ( not bOpen ) then
250             warnlog( "Could not open macro controls, aborting" )
251             hCloseBasicIde()
252             brc = hDestroyDocument()
253             goto endsub
254         endif
255         
256         printlog( "Select every control, open its properties and verify its name, close properties" )
257         for iCurrentControl = 1 to ICONTROLCOUNT
259             if ( instr( gtSysName, "Solaris" ) > 0 ) then
260                 qaerrorlog( "Skipping frame control on Solaris" )
261             else
262                 hSelectControl( iCurrentControl )
263                 hOpenPropertyBrowser()
264                 sCurrentControl = lsControlNames( iCurrentControl )
265                 hPBGetControlName( sCurrentControl )
266                 hClosePropertyBrowser()
267             endif
268             
269         next iCurrentControl
270         
271         ' we need to delete the list-content otherwise we run into index-problems
272         ListAllDelete( lsControlNames() )
273        
274         printlog( "Cleanup: Close the BASIC-IDE" )
275         printlog( "Close the BASIC IDE" )
276         hCloseBasicIde()
277         
278         printlog( "Cleanup: Close the document" )
279         printlog( "Close the document" )
280         brc = hDestroyDocument()
281         
282         printlog( "Cleanup: Delete the file we created" )
283         hDeleteFile( sFile )
284         
285         printlog( "Repeat this for every application" )
286         
287     next iApplication
289 endcase