jl165 merging heads
[LibreOffice.git] / testautomation / framework / optional / includes / basic_formcontrols.inc
blob36a4ae35e1ab209d21a2cd7dca4032acc4d1cc34
1 'encoding UTF-8  Do not remove or change this line!
2 '**************************************************************************
3 ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 ' Copyright 2000, 2010 Oracle and/or its affiliates.
7 ' OpenOffice.org - a multi-platform office productivity suite
9 ' This file is part of OpenOffice.org.
11 ' OpenOffice.org is free software: you can redistribute it and/or modify
12 ' it under the terms of the GNU Lesser General Public License version 3
13 ' only, as published by the Free Software Foundation.
15 ' OpenOffice.org is distributed in the hope that it will be useful,
16 ' but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ' GNU Lesser General Public License version 3 for more details
19 ' (a copy is included in the LICENSE file that accompanied this code).
21 ' You should have received a copy of the GNU Lesser General Public License
22 ' version 3 along with OpenOffice.org.  If not, see
23 ' <http://www.openoffice.org/license.html>
24 ' for a copy of the LGPLv3 License.
26 '/************************************************************************
28 '* owner : gregor.hartmann@oracle.com
30 '* short description : Basic form-controls
32 '\******************************************************************************
34 private const ICONTROLCOUNT = 22
36 testcase tAllControlsOnDialog( cMajor as string )
38     printlog( "Insert all available controls into a BASIC dialog and verify that changed settings persist a save/load cycle" )
39     
40     'qaerrorlog( "#i105685# - Test disabled" )
41     'goto endsub
43     dim iApplication as Integer ' numeric expression for gApplication
44     dim cApplication as string  ' Name of the current application
45     
46     ' number of controls and the name of the current control
47     dim iCurrentControl as integer
48     dim sCurrentControl as string
50     ' the workfile and the filter (Tested for 569, 645, 680)
51     dim sFile as string
53     const CMODULE = "tacod" ' abbreviation for tAllControlsOnDialog
54     const BUTTON_TIMEOUT = -1
55     const UPPER_BOUNDARY = 1 ' 1 = only writer, increase to add Calc, Impress, Draw...
57     ' Currently set to test writer only. Increase upper boundary to add applications
58     ' Up to 4 should be useful
59     for iApplication = 1 to UPPER_BOUNDARY
60     
61         cApplication = hNumericDoctype( iApplication )
62         printlog( "Document type: " & cApplication )
64         sFile = convertpath( hGetWorkPath() & "basic" & hGetSuffix( cMajor ) )
65         printlog( "Using file: " & sFile )
66         
67         printlog( "Delete the file, if it exists" )
68         hDeleteFile( sFile )
69                 
70         printlog( "Open a second document" )
71         hCreateDocument()
73         printlog( "Create a new module for the new document, new dialog, open macro controls" )
74         if ( not hInitFormControls( CMODULE ) ) then
75             printlog( "Aborting due to previous errors" )
76             hDestroyDocument()
77             goto endsub
78         endif
80         printlog( "Insert all controls into the dialog" )
81         for iCurrentControl = 1 to ICONTROLCOUNT
83             sCurrentControl = hDrawControlOnDialog( iCurrentControl )
84             hUseAsyncSlot( "ContextProperties" )
85             kontext "ControlPropertiesTabControl"
86             if ( ControlPropertiesTabControl.exists( 1 ) ) then
87                 hPBSetControlName( sCurrentControl )
88                 hUseAsyncSlot( "ContextProperties" )
89             else
90                 warnlog( "Property browser not open" )
91             endif
93         next iCurrentControl
94         
95         Kontext "BASICIDE"
96         printlog( "close the BASIC-IDE" )
97         hCloseBasicIde()
98         
99         printlog( "" )
100         printlog( "Test case 1: Verify that settings survive a close and reopen of the BASIC IDE" )
101         
102         ToolsMacro_uno
103         kontext "Makro"
104         if ( hSelectNodeByName( MakroAus , CMODULE ) ) then
105             printlog( "The node was found. Good." )
106         else
107             qaerrorlog( "Searching node by name failed. Using fallback" )
108             hSelectTheLastnode( MakroAus )
109         endif
110         
111         printlog( "Edit the module" )
112         if ( hClickButton( Bearbeiten ) = BUTTON_TIMEOUT ) then
113             warnlog( "Edit-Button is not enabled, the test cannot continue" )
114             kontext "Makro"
115             hCloseDialog( Makro, "cancel" )
116             hDestroyDocument()
117             goto endsub
118         endif
120         kontext "BasicIDE"
121         printlog( "Find the dialog we created before" )
122         if ( hFindFirstDialog() ) then
123             printlog( "First dialog found. Good." )
124         else
125             warnlog( "#i115117 - Could not access dialog, accelerator not working? (Test interrupted)" )
126             hCloseBasicIde()
127             hDestroyDocument()
128             goto endsub
129         endif
131         printlog( "Select every control, open its properties and verify its name, close properties" )
132         for iCurrentControl = 1 to ICONTROLCOUNT
134             sCurrentControl = hGetControlName( iCurrentControl )
135             if ( hSelectControl( iCurrentControl ) ) then
136                 kontext "ControlPropertiesTabControl"
137                 if ( ControlPropertiesTabControl.exists( 5 ) ) then
138                     wait( 300 )
139                     hPBGetControlName( sCurrentControl )
140                     hUseAsyncSlot( "ContextProperties" )
141                     kontext "ControlPropertiesTabControl" : ControlPropertiesTabControl.notExists( 3 )
142                 else
143                     warnlog( "Property browser not open for " & sCurrentControl )
144                 endif
145             else
146                 warnlog( "Failed to select control: " & sCurrentControl )
147             endif
148             
149         next iCurrentControl
150        
151         printlog( "Close the BASIC-IDE" )
152         hCloseBasicIde()        
153         
154         if ( getDocumentCount <> 1 ) then warnlog( "Number of open documents is incorrect, expected one only" )
156         printlog( "Save the document" )
157         Call hFileSaveAsKill( sFile )
159         printlog( "Close the document" )
160         hDestroyDocument()
162         printlog( "" ) 
163         printlog( "Test case 2: Verify that all items keep their names after close and reload of the document" )
164         
165         printlog( "Open the file again" )
166         hFileOpen( sFile )
168         printlog( "Open the basic-IDE from this document, open controls, activate 'Select-mode' and open the properties" )
169         ToolsMacro_uno
171         kontext "Makro"
172         if ( hSelectNodeByName( MakroAus , CMODULE ) ) then
173             printlog( "The node was found. Good." )
174         else
175             qaerrorlog( "Searching node by name failed. Using fallback" )
176             hSelectTheLastnode( MakroAus )
177         endif
178         
179         printlog( "Edit the module" )
180         if ( hClickButton( Bearbeiten ) = BUTTON_TIMEOUT ) then
181             warnlog( "Edit-Button is not enabled, the test cannot continue" )
182             kontext "Makro"
183             hCloseDialog( Makro, "cancel" )
184             hDestroyDocument()
185             goto endsub
186         endif
188         kontext "BasicIDE"
189         printlog( "Find the dialog we created before" )
190         if ( hFindFirstDialog() ) then
191             printlog( "First dialog found. Good." )
192         else
193             warnlog( "Could not access dialog, aborting test" )
194             hCloseBasicIde()
195             hDestroyDocument()
196             goto endsub
197         endif
199         printlog( "Select every control, open its properties and verify its name, close properties" )
200         for iCurrentControl = 1 to ICONTROLCOUNT
202             sCurrentControl = hGetControlName( iCurrentControl )
203             if ( hSelectControl( iCurrentControl ) ) then
204                 kontext "ControlPropertiesTabControl"
205                 if ( ControlPropertiesTabControl.exists( 5 ) ) then
206                     wait( 300 )
207                     hPBGetControlName( sCurrentControl )
208                     hUseAsyncSlot( "ContextProperties" )
209                     kontext "ControlPropertiesTabControl" : ControlPropertiesTabControl.notExists( 3 )
210                 else
211                     warnlog( "Property browser not open for " & sCurrentControl )
212                 endif
213             else
214                 warnlog( "Failed to select control: " & sCurrentControl )
215             endif
216             
217         next iCurrentControl
218             
219         printlog( "Cleanup: Close the BASIC-IDE" )
220         hCloseBasicIde()
221         
222         printlog( "Cleanup: Close the document" )
223         hDestroyDocument()
224         
225         printlog( "Cleanup: Delete the file we created" )
226         hDeleteFile( sFile )
227         
228     next iApplication
230 endcase