jl165 merging heads
[LibreOffice.git] / testautomation / framework / optional / includes / basic_package_export.inc
blob6b80282185be993aa75219d4e90e0f6d63fb67b5
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 : Export BASIC libraries as package
32 '\******************************************************************************
34 testcase tBasicPackageExport
36     ' Assumption: All actions take place in the user/work directory
37     printlog( "Export BASIC libraries as package/extension" )
38     
39     const PACKAGE_NAME = "tBasicExport.oxt"
40     const LIBRARY_NAME = "tBasicExport"
41     const DOCUMENT_POSITION = 4
42     const PACKAGE_SIZE = 1325
44     const LIBRARIES_TAB = 3
45     const LONG_WAIT = 3
46     const SHORT_WAIT = 1
47     
48     dim cDocumentName as string
49     dim cLibraryName as string
51     dim iNodeCount as integer
52     dim iCurrentLib as integer
53     
54     dim cFile as string : cFile = hGetWorkPath() & PACKAGE_NAME
55     dim cPackageFileName as string
56         
57     
58     printlog( "Delete potential leftovers from prior test run" )
59     hDeleteFile( cFile )
60     hExtensionRemoveGUI( PACKAGE_NAME )
62     printlog( "Open one single writer document, modify it" )
63     hInitSingleDoc()
64     hChangeDoc()
66     printlog( "Open another document, we want to have two to see that they both " & _
67               "appear in the BASIC organizer" )
68     gApplication = "WRITER"
69     hCreateDocument()
71     printlog( "Open BASIC organizer" )    
72     ToolsMacro_uno
73     
74     printlog( "Select the second document" )
75     kontext "Makro"
76     if ( Makro.exists( SHORT_WAIT ) ) then
77         iNodeCount = hGetNodeCount( MakroAus )
78         cDocumentName = hSelectNode( MakroAus, iNodeCount )
80         printlog( "Click <Manage...>" )    
81         Verwalten.click()
82         
83         printlog( "Go to the libraries tabpage" )
84         hSelectBasicObjectOrganizerTab( LIBRARIES_TAB )
85         
86         kontext "TabBibliotheken"
87         printlog( "Select the document at pos. " & DOCUMENT_POSITION )
88         Bibliothek.select( DOCUMENT_POSITION )
89         
90         printlog( "Verify that the correct document has been selected" )
91         if ( Bibliothek.getSelText() <> cDocumentName ) then
92             warnlog( "Incorrect document selected on libraries tab, aborting test" )
93             goto endsub
94         endif
95         
96         printlog( "Click <New...>" )
97         Neu.click()
98         
99         kontext "NeueBibliothek"
100         if ( NeueBibliothek.exists( SHORT_WAIT ) ) then
101             printlog( "Name the new library: " & LIBRARY_NAME )
102             BibliotheksName.setText( LIBRARY_NAME )
103             NeueBibliothek.ok()
104         else
105             warnlog( "Dialog <NeueBibliothek> did not open" )
106             goto endsub
107         endif
108         
109         kontext "TabBibliotheken"
110         cLibraryName = BibliotheksListe.getSelText()
111         if ( cLibraryName <> LIBRARY_NAME ) then
112             warnlog( "The new library is not selected in the libraries list" )
113         else
114             printlog( "The correct library is selected in the libraries list" )
115         endif
116         
117         printlog( "Click <Edit...>" )
118         Bearbeiten.click()
120         printlog( "Insert a test macro (something simple, e.g. a messagebox" )
121         hInsertMacroFromFile( LIBRARY_NAME )
122         
123         printlog( "Close the BASIC IDE" )
124         hCloseBasicIDE()
125     else
126         warnlog( "Dialog <Makro> did not open, aborting test" )
127         goto endsub
128     endif
129     
130     printlog( "Open the BASIC organizer" )
131     ToolsMacro_uno
132     
133     printlog( "Select the work document" )
134     kontext "Makro"
135     if ( Makro.exists( SHORT_WAIT ) ) then
136         iNodeCount = hGetNodeCount( MakroAus )
137         hSelectNode( MakroAus, iNodeCount )    
138         
139         printlog( "Manage..." )
140         Verwalten.click()
141         
142         printlog( "Libraries tab" )
143         hSelectBasicObjectOrganizerTab( LIBRARIES_TAB )
144         
145         kontext "TabBibliotheken"
146         if ( TabBibliotheken.exists( SHORT_WAIT ) and TabBibliotheken.isVisible() ) then
147             Bibliothek.select( DOCUMENT_POSITION )
148             
149             printlog( "Select the new library" )
150             kontext "TabBibliotheken"
151             for iCurrentLib = 1 to Bibliotheksliste.getItemCount()
152                 Bibliotheksliste.select( iCurrentLib )
153                 if ( Bibliotheksliste.getSelText() = LIBRARY_NAME ) then
154                     exit for
155                 endif
156             next iCurrentLib
157             
158             kontext "TabBibliotheken"
159             printlog( "Export the package, close the document afterwards" )
160             Export.click()
161             
162             kontext "ExportBasicLibraryDlg"
163             if ( ExportBasicLibraryDlg.exists( LONG_WAIT ) ) then
164                 printlog( "Select to export as extension" )
165                 ExportAsPackage.check()
166                 hCloseDialog( ExportBasicLibraryDlg, "ok" )
167                 
168                 kontext "SpeichernDlg"
169                 if ( SpeichernDlg.exists( LONG_WAIT ) ) then
170                     printlog( "Save the file, suffix will be added automatically." )
171                     DateiName.setText( hGetWorkPath() & LIBRARY_NAME )
172                     Speichern.click()
173                     Speichern.notExists( SHORT_WAIT )
174                 else
175                     warnlog( "Dialog <File Save> did not open" )
176                 endif
177             else
178                 warnlog( "Dialog <Export Basic Library> did not open" )
179             endif
180             
181             kontext "TabBibliotheken"
182             printlog( "Close libraires tabpage" )
183             hCloseDialog( TabBibliotheken, "cancel" )
184         else
185             warnlog( "Dialog <TabBibliotheken> is not available" )
186         endif
187         
188         kontext "Makro"
189         printlog( "Close BASIC organizer" )
190         hCloseDialog( Makro, "cancel" )
191     else
192         warnlog( "Dialog <Makro> did not open" )
193     endif
194     
195     printlog( "Close all files" )
196     hFileCloseAll()   
197     
198     printlog( "Verify automatic filename extension (dialog should append .oxt)" )
199     printlog( "Checking for file: " & cFile )
200     if ( FileExists( cFile ) ) then
201         printlog( "The test-package was saved with .oxt extension, good." )
202         cPackageFileName = cFile
203     else
204         if ( FileExists( hGetWorkPath() & LIBRARY_NAME ) ) then
205             warnlog( "The test-package was saved without .oxt filename extension" )
206             cPackageFileName = hGetWorkPath() & LIBRARY_NAME
207         else
208             warnlog( "The test extension was not saved to the users workdirectory" )
209             goto endsub
210         endif
211     endif
212     
213     printlog( "Verify file size" )
214     if ( FileLen( cPackageFileName ) <> PACKAGE_SIZE ) then
215         warnlog( "#i105719# - The exported test-package has an incorrect file size." )
216     else
217         printlog( "File has correct size." )
218     endif
219     
220 endcase