jl165 merging heads
[LibreOffice.git] / testautomation / framework / required / includes / topten.inc
blob165c63bb20e6451c5eac190fd0d833693bb5a148
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 : Smoke test (load/save/clipboard)
32 '\***********************************************************************
34 sub topten
36     ' we need the binary filters (.sxw etc.) for this test but beginning with
37     ' OOo 3.3 these are optional
38     if ( hCheckForBinfilters() ) then
39         gApplication = "WRITER"
40         call Top_ten_test
42         gApplication = "CALC"
43         call Top_ten_test
45         gApplication = "IMPRESS"
46         call Top_ten_test
48         gApplication = "DRAW"
49         call Top_ten_test
51         gApplication = "MATH"
52         call Top_ten_test
54         gApplication = "HTML"
55         call Top_ten_test
57         gApplication = "MASTERDOCUMENT"
58         call Top_ten_test
59     endif
60 end sub
62 '*******************************************************************************
64 testcase Top_ten_test
66     dim sUserWorkDirectory as string
67     dim sFilename_native as String
68     dim sFilter_native as string
69     dim sFilter_export as String
70     dim bExportFile as boolean
72     sUserWorkDirectory = gOfficePath & "user\work\"
73     bExportFile = true
74     
75     printlog( "Current document type: " & gApplication )
76     
77     ' set the filenames and their filters. HTML is not exported
78     if ( gApplication = "HTML" ) then
79         sFilename_native = "ls_test.html"
80         bExportFile      = FALSE      
81     else
82         sFilename_native = "ls_test" & hGetSuffix( "current" )
83     endif
84     
85     printlog( "File (current): " & sFilename_native )
86     
87     ' Delete the workfiles, they might have been left over by prior incomplete testrun
88     hDeleteFile( sUserWorkDirectory & sFilename_native )
89     
90     ' Set the API filternames for the current application (native XML format)
91     select case gApplication
92     case "WRITER"          : sFilter_native = "writer8"
93     case "CALC"            : sFilter_native = "calc8"
94     case "DRAW"            : sFilter_native = "draw8"
95     case "IMPRESS"         : sFilter_native = "impress8"
96     case "MATH"            : sFilter_native = "math8"
97     case "MASTERDOCUMENT"  : sFilter_native = "writerglobal8"
98     case "HTML"            : sFilter_native = "HTML"
99     case else              : warnlog "Invalid gApplication: " & gApplication 
100     end select
102     printlog( "Create a new document" )
103     call hNewDocument
104     
105     printlog( "Clipboard" )
106     call CutCopyPaste
107     
108     printlog( "Save (default-fileformat): " & sFilename_native )
109     call hFileSaveAsKill ( sUserWorkDirectory & sFilename_native )
110     
111     FileClose
113     kontext "active"
114     if ( Active.Exists( 1 ) ) then
115         warnlog( "Unexpected Active after saving: '" & active.getText & "'" )
116         try
117             Active.Yes()
118         catch
119             Active.No()
120         endcatch
121     endif
123     printlog( "Load (default-fileformat): " & sFilename_native )
124     call hFileOpen( sUserWorkDirectory & sFilename_native )
126     if ( bExportFile ) then
127         printlog( "Change the document" )
128         hChangeDoc()
129         printlog( "Save" )
130         hFileSave()
131     endif
133     printlog( "Close" )
134     FileClose
136     hDeleteFile( sUserWorkDirectory & sFilename_native )
137     
138 endcase
140 '*******************************************************************************
142 sub CutCopyPaste
143     dim sSelectAll as string
145     ' In Spain Select All is CTRL+E; CTRL+A is FileOpen
146     if (iSprache=34) then
147         sSelectAll = "<Mod1 e>"
148     else
149         sSelectAll = "<Mod1 a>"
150     endif
152     select case gApplication
153         case "WRITER", "HTML", "MASTERDOCUMENT"
154             kontext "documentwriter"
155             DocumentWriter.TypeKeys "This is a test.<Return>"
156             printlog( "   cut" )
157             DocumentWriter.TypeKeys sSelectAll
158             DocumentWriter.TypeKeys "<Mod1 x>"
159             Wait( 500 )
160             printlog( "   paste" )
161             DocumentWriter.TypeKeys "<Mod1 v>"
162             Wait( 500 )
163             printlog( "   copy" )
164             DocumentWriter.TypeKeys sSelectAll
165             DocumentWriter.TypeKeys "<Mod1 c>"
166             Wait( 500 )
167             printlog( "   paste" )
168             DocumentWriter.TypeKeys "<Mod1 v>"
169             Wait( 500 )
170         case "CALC"   : Kontext "DocumentCalc"
171             DocumentCalc.TypeKeys "This is a test.<Return>"
172             DocumentCalc.TypeKeys "<Up>"
173             printlog( "   cut" )
174             DocumentCalc.TypeKeys "<Mod1 x>"
175             Wait( 500 )
176             printlog( "   paste" )
177             DocumentCalc.TypeKeys "<Down>"
178             DocumentCalc.TypeKeys "<Mod1 v>"
179             Wait( 500 )
180             printlog( "   copy" )
181             DocumentCalc.TypeKeys "<Mod1 c>"
182             Wait( 500 )
183             printlog( "   paste" )
184             DocumentCalc.TypeKeys "<Down>"
185             DocumentCalc.TypeKeys "<Mod1 v>"
186             Wait( 500 )
187         case "DRAW"   : Kontext "DocumentDraw"
188             hRechteckErstellen ( 30, 30, 60, 60 )
189             gMouseClick ( 1, 1 )
190             printlog( "   cut" )
191             DocumentDraw.TypeKeys sSelectAll
192             DocumentDraw.TypeKeys "<Mod1 x>"
193             Wait( 500 )
194             printlog( "   paste" )
195             DocumentDraw.TypeKeys "<Mod1 v>"
196             Wait( 500 )
197             printlog( "   copy" )
198             gMouseClick ( 1, 1 )
199             DocumentDraw.TypeKeys sSelectAll
200             DocumentDraw.TypeKeys "<Mod1 c>"
201             Wait( 500 )
202             printlog( "   paste" )
203             gMouseClick ( 1, 1 )
204             DocumentDraw.TypeKeys "<Mod1 v>"
205         case "IMPRESS": Kontext "DocumentImpress"
206             hRechteckErstellen ( 30, 30, 60, 60 )
207             gMouseClick ( 1, 1 )
208             printlog( "   cut" )
209             DocumentImpress.TypeKeys sSelectAll
210             DocumentImpress.TypeKeys "<Mod1 x>"
211             Wait( 500 )
212             printlog( "   paste" )
213             DocumentImpress.TypeKeys "<Mod1 v>"
214             Wait( 500 )
215             printlog( "   copy" )
216             gMouseClick ( 1, 1 )
217             DocumentImpress.TypeKeys sSelectAll
218             DocumentImpress.TypeKeys "<Mod1 c>"
219             Wait( 500 )
220             printlog( "   paste" )
221             gMouseClick ( 1, 1 )
222             DocumentImpress.TypeKeys "<Mod1 v>"
223         case "MATH"   : SchreibenInMathdok "a over b"
224             printlog( "   cut" )
225             hUseAsyncSlot( "EditSelectAllMath" )
226             hUseAsyncSlot( "EditCut" )
227             printlog( "   paste" )
228             hUseAsyncSlot( "EditPaste" )
229             printlog( "   copy" )
230             hUseAsyncSlot( "EditSelectAllMath" )
231             hUseAsyncSlot( "EditCopy" )
232             printlog( "   paste" )
233             hUseAsyncSlot( "EditPaste" )
235     end select
236 end sub