jl165 merging heads
[LibreOffice.git] / testautomation / framework / optional / includes / basic_macros.inc
blobcc8ff04fb4086968157b1e7c0cf8f8b780e545e8
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 '/************************************************************************
27 ' **
28 ' ** owner : gregor.hartmann@oracle.com
29 ' **
30 ' ** short description : check macro-dialogs / BASIC-IDE ( 1. part )
31 ' **
32 '\******************************************************************************
35 testcase tMakro_In_All_Apps
37     printlog( "Attach a macro to all application types" )
38     
39     dim iApp as Integer
40     
41     const CMACRO = "AppMakro"
42     const DIALOG_TIMEOUT = 2
44     for iApp = 1 to 7
46         printlog( hNumericDoctype( iApp ) )
48         printlog( "Open a new document" )
49         hCreateDocument()
50         
51         if ( hInitBasicIde( CMACRO ) ) then
52             printlog "Close the BASIC-IDE"
53             hCloseBasicIde()
55             printlog( "Close the navigator (Master-doc)" )
56             kontext "Navigator"
57             hCloseDialog( Navigator, "close,optional" )
59             printlog( "Close the document" )
60             hUseAsyncSlot( "FileClose" )
62             printlog( "Close the messagebox (document changed)" )
63             kontext "messagebox"
64             if ( MessageBox.Exists( DIALOG_TIMEOUT ) ) then
65                 printlog( "MessageBox: " & MessageBox.getText() )
66                 hCloseDialog( Messagebox, "no" )
67             else
68                 warnlog( "No warning for changed document" )
69             end if
70         else
71             warnlog( "Could not open the BASIC Macro Organizer, aborting" )
72         endif
74     next iApp
75     
76 endcase
78 '*******************************************************************************
80 testcase tMakro_Dialog
82     printlog( "Update test for the BASIC organizer - libraries, modules and dialogs" )
84     const CFN = "tMakro_Dialog::"
85     const CMACRO = "MacroDlg"
86     const RC_TIMEOUT = -1
87     const DIALOG_TIMEOUT = 2
88     const TAB_MODULES = 1
89     const TAB_DIALOGS = 2
90     const TAB_LIBRARIES = 3
91     const REFERENCE_LIBRARY = "AppLibrary1"
93     dim iLibraryItemCount as integer
94     dim iCurrentLibrary as Integer
95     dim XLBFILE as String
96         XLBFILE = gTesttoolPath & "framework\optional\input\AppLibrary1\script.xlb"
97         XLBFILE = convertpath( XLBFILE )
98     
99     gApplication = "WRITER"
101     printlog( "Open a new document" )
102     hCreateDocument()
103     
104     printlog( "Create a new library, a new module, open Basic-Ide" )
105     if ( not hInitBasicIde( CMACRO ) ) then
106         warnlog( CFN & "Could not open BASIC-IDE, aborting" )
107         goto endsub
108     endif
109     
110     printlog( "Close the Basic-Ide" )
111     kontext "BasicIDE"
112     hCloseBasicIde()
113     
114     printlog( "Open the Basic Macro Organizer" )
115     ToolsMacro_uno
117     kontext "Makro"
118     if ( Makro.exists( DIALOG_TIMEOUT ) ) then
120         printlog( "Select the last Module for the current document" )
121         hSelectTheLastNode( MakroAus )
123         printlog( "Click Organize..." )
124         Verwalten.Click()
126         printlog( "Select Modules-tab" )
127         hSelectBasicObjectOrganizerTab( TAB_MODULES )
129         printlog( "Press 'new module'" )
130         kontext "tabmodule"
131         NeuesModul.Click()
133         kontext "neuesmodul"
134         printlog( "Cancel the dialog" )
135         NeuesModul.Cancel()
137         hSelectBasicObjectOrganizerTab( TAB_DIALOGS )
139         kontext "tabdialogs"
140         printlog( "Press 'new dialog'" )
141         NewDialog.Click()
143         printlog( "Cancel the dialog" )
144         kontext "neuerdialog"
145         NeuerDialog.Cancel()
147         kontext
148         printlog( "Select the libraries Tab" )
149         hSelectBasicObjectOrganizerTab( TAB_LIBRARIES )
152         printlog( "Press 'New' on the libraries tab" )
153         kontext "tabbibliotheken"
154         Neu.Click()
156         kontext "neuebibliothek"
157         if ( NeueBibliothek.exists( DIALOG_TIMEOUT ) ) then
158             printlog( "Close the dialog with 'OK'" )
159             Call DialogTest( NeueBibliothek )
160             hCloseDialog( NeueBibliothek, "ok" )
161         endif
163         printlog( "Delete 'Library1'" )
164         kontext "tabbibliotheken"
165         Loeschen.Click()
167         printlog( "Close the warning" )
168         kontext "active"
169         if ( Active.Exists( DIALOG_TIMEOUT ) ) then
170             printlog( "MessageBox: " & active.getText() )
171             Active.Yes()
172         else
173             warnlog( "Deletion warning is missing" )
174         endif
176         printlog( "Check the number of libraries in list" )
177         kontext "tabbibliotheken"
178         iLibraryItemCount = Bibliotheksliste.getItemCount()
179         if ( iLibraryItemCount <> 1 ) then
180             if ( iLibraryItemCount = 11 ) then
181                 warnlog( "#i87457# Macros moved from 'OpenOffice.org Macros' to 'My Macros'" )
182             else
183                 warnlog( "Incorrect item count. Should be 1, is: " & iLibraryItemCount )
184             endif
185         endif
187         printlog( "Append a xlb-file" )
188         kontext "tabbibliotheken"
189         Hinzufuegen.Click()
191         printlog( "Select 'AppLibrary1/script.xlb' from the files list"
192         kontext "oeffnendlg"
193         Dateiname.SetText( XLBFILE )
194         Oeffnen.Click()
196         kontext "AppendLibraries"
197         if ( AppendLibraries.exists( DIALOG_TIMEOUT ) ) then
198             printlog( "<Append libraries> dialog is open, good" )
199         else
201             ' If the .xlb file cannot be found the test cannot continue. Warn and cleanup.
202             kontext "Active"
203             if ( Active.exists() ) then
205                 warnlog( "Unexpected messagebox, the script appears to be missing" )
206                 printlog( Active.getText() )
208                 kontext "Active"
209                 hCloseDialog( Active, "ok" )
211                 kontext "OeffnenDlg"
212                 hCloseDialog( OeffnenDlg, "cancel,optional" )
214                 kontext "TabBibliotheken"
215                 hCloseDialog( TabBibliotheken, "close,optional" )
217                 kontext "Makro"
218                 hCloseDialog( Makro, "close,optional" )
220                 printlog( "Exiting test" )
221                 goto endsub
223             endif
224         endif
226         printlog( "Ensure 'Insert as Reference' is unchecked" )
227         kontext "appendlibraries"
228         InsertAsReference.UnCheck()
230         printlog( "Check 'Replace existing library'" )
231         ReplaceExistingLibraries.Check()
233         printlog( "Press 'OK' to append the library" )
234         kontext "appendlibraries"
236         hCloseDialog( AppendLibraries, "ok" )
238         printlog( "Check the number of libraries in list (should be two)" )
239         kontext "tabbibliotheken"
240         iLibraryItemCount = Bibliotheksliste.getItemCount()
241         if ( iLibraryItemCount <> 2 ) then
242             qaerrorlog( "#i87457# Two entries in list expected, found " & iLibraryItemCount )
243         endif
245         printlog( "Select the first item" )
246         Bibliotheksliste.TypeKeys( "<HOME>" )
247         for iCurrentLibrary = 1 to iLibraryItemCount
248             if ( Bibliotheksliste.getSelText() = REFERENCE_LIBRARY ) then
249                 printlog( "Found " & REFERENCE_LIBRARY )
250                 exit for
251             endif
252             printlog( "This was not " & REFERENCE_LIBRARY & ", trying again" )
253             Bibliotheksliste.Typekeys( "<DOWN>" )
254         next iCurrentLibrary
256         printlog( "Set a password for " & REFERENCE_LIBRARY )
257         kontext "tabbibliotheken"
258         if ( hClickButton( Passwort ) <> RC_TIMEOUT ) then
259             kontext "passwddlg"
260             hCloseDialog( PasswdDLG, "cancel" )
261         else
262             warnlog( "Password is disabled for " & REFERENCE_LIBRARY )
263         endif
265         printlog( "Delete " & REFERENCE_LIBRARY )
266         kontext "tabbibliotheken"
267         Loeschen.Click()
269         printlog( "Close the warning with YES" )
270         kontext "active"
271         if ( Active.Exists() ) then
272             printlog( "MessageBox: " & active.getText() )
273             Active.Yes()
274         else
275             warnlog( "Expected confirmation dialog for delete" )
276         endif
278         kontext "tabbibliotheken"
279         printlog( "Press 'edit' on 'Libraries'-tab" )
280         Bearbeiten.Click()
282         kontext "BasicIDE"
283         if ( BasicIDE.Exists( DIALOG_TIMEOUT ) ) then
285             hInsertMacro( 3 )
287             printlog( "Close the basic-document" )
288             hCloseBasicIde()
290             kontext "active"
291             if ( Active.Exists ( DIALOG_TIMEOUT ) ) then
292                 warnlog( "Unexpected MessageBox: " & active.getText() )
293                 Active.NO()
294             endif
296         else
297             warnlog("#i38978# The Macro-Document is not open, aborting test")
298             call hDestroyDocument()
299             goto endsub
300         endif
302         printlog( "Open the BASIC Macro Organizer" )
303         ToolsMacro_uno
305         printlog( "Select the last macro from the list" )
306         kontext "makro"
307         if ( Makro.exists( DIALOG_TIMEOUT ) ) then
308             hSelectTheLastNode( MakroAus )
310             printlog( "Assign the macro, Tools/customize dialog should open" )
311             if ( hClickButton( Zuordnen ) = RC_TIMEOUT ) then
312                 warnlog( "#i106853# Assign-Button is disabled or macro is missing" )
313             endif
315             printlog( "Activate all tapages and cancel the Tools/Customize dialog" )
316             if ( not hToolsCustomizeSelectTab( "keyboard" ) ) then
317                 qaerrorlog( "#i61765# Keyboard tab missing when called via Tools/Macros->Assign" )
318             endif
319             hToolsCustomizeSelectTab( "events" )
320             hToolsCustomizeSelectTab( "toolbars" )
322             printlog( "Cancel Tools/Customize dialog -> Macro Organizer should be open" )
323             kontext "TabCustomizeToolbars"
324             hCloseDialog( TabCustomizeToolbars, "cancel" )
327             printlog "Click to run macro"
328             kontext "makro"
329             if ( hClickButton( Ausfuehren ) = RC_TIMEOUT ) then
330                 warnlog( "Unable to run macro, button is not enabled" )
331                 kontext "Makro"
332                 hCloseDialog( Makro, "close" )
333             endif
335             kontext "active"
336             if ( active.exists() ) then
337                 if ( active.getText() = "TTMacro3" ) then
338                     printlog( "The correct macro has been executed" )
339                 else
340                     warnlog( "Unknown Messagebox: " & active.getText() )
341                 endif
342                 Active.OK()
343             endif
344         else
345             warnlog( "Macro Organizer did not open" )
346         endif
348         printlog( "Open macro organizer from the current document" )
349         ToolsMacro_uno : WaitSlot()
351         printlog( "Select the last item in the treelist" )
352         kontext "Makro"
353         hSelectTheLastNode( MakroAus )
355         printlog( "Delete the new module" )
356         Loeschen.Click()
358         printlog( "Close the deletion warning" )
359         kontext "active"
360         if ( active.exists() ) then
361             printlog( "MessageBox: " & active.getText() )
362             Active.Yes()
363         else
364             warnlog( "No confirmation dialog for delete" )
365         endif
367         printlog( "Close the macro organizer" )
368         kontext "makro"
369         Makro.Close()
370     else
371         warnlog( "Makro Organizer did not open" )
372     endif
373     
374     printlog( "Close the document" )
375     Call hDestroyDocument()
376     
377 endcase