update dev300-m58
[ooovba.git] / testautomation / framework / required / includes / window_functions.inc
blobb562120c1c4e153d599f97bb18586e27b3997373
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: window_functions.inc,v $
11 '* $Revision: 1.2 $
13 '* last change: $Author: rt $ $Date: 2008-09-04 09:16:41 $
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 : Window/Titlebar functionality
38 '\******************************************************************************
40 testcase tWindowFunctions
42     printlog( "Update test for window functions" )
44     if ( gtSysName = "Mac OS X" ) then
45         printlog( "No testing for Mac as some Window attributes do not exist" )
46         goto endsub
47     endif
49     
50     printlog( "Create initial document" )
51     gApplication = "WRITER"
52     hInitSingleDoc()
53     hInitWriteDocIdentifier( "F_updt_windowfuncs.bas" )
54     
55     printlog( "New document" )
56     hNewDocument()
57     if ( getDocumentCount <> 2 ) then
58         warnlog( "Two open documents were expected, found " & getDocumentCount )
59     endif    
61     kontext "DocumentWriter"
62     printlog( "Close document" )
63     DocumentWriter.close()
65     if ( getDocumentCount <> 1 ) then
66         warnlog( "One open document was expected, found " & getDocumentCount )
67     endif
69     printlog( "New document" )
70     hNewDocument()
71     if ( getDocumentCount <> 2) then
72         warnlog( "Two open documents were expected, found " & getDocumentCount )
73     endif    
75     printlog( "Enter some text into the second writer document" )
76     kontext "DocumentWriter"
77     DocumentWriter.TypeKeys( "test" )
78     DocumentWriter.close()
80     kontext "active"
81     if ( Active.exists() ) then
82         printlog( "Close messagebox with Cancel (leaves the document open)" )
83         Active.Cancel()
84     else
85         warnlog( "No warning that data will be lost on close of this document" )
86     endif
87     
88     kontext "DocumentWriter"    
89     if ( getDocumentCount = 2 ) then
90         printlog( "Two documents open. Good." )
91     else
92         warnlog( "Incorrect document count. Expected two, found " & getDocumentCount )
93     endif
95     kontext "DocumentWriter"
96     printlog( "Close the document" )
97     FileClose()
98     
99     kontext "Active"
100     if ( Active.exists() ) then  
101         printlog( "Do not save the document" )
102         Active.No()
103     else
104         warnlog( "Warning: No data loss warning" )
105     endif
106     
107     kontext "DocumentWriter"
108     if ( getDocumentCount = 1 ) then
109         printlog( "One document open. Good." )
110     else
111         warnlog( "Incorrect document count. Expected one, found " & getDocumentCount )
112     endif    
114     Kontext "DocumentWriter"
115     printlog( "Minimize window" )
116     DocumentWriter.Minimize()
117     Wait( 2000 )
119     kontext "DocumentWriter"
120     if ( DocumentWriter.IsMin() ) then
121         printlog( "Window is minimized" )
122     else
123         qaerrorlog( "#i32672# Window not minimized" )
124     endif
126     kontext "DocumentWriter"
127     printlog( "Restore window" )
128     DocumentWriter.Restore()
129     Wait( 2000 )
131     if ( DocumentWriter.IsRestore() ) then
132         printlog( "Window is Restored" )
133     else
134         warnlog( " * Window not Restored" )
135     endif
137     kontext "DocumentWriter"
138     printlog( "Maximize window" )
139     DocumentWriter.Maximize()
140     Wait( 2000 )
141     
142     kontext "DocumentWriter"
143     if ( DocumentWriter.IsMax() ) then
144         printlog( "Window is maximized" )
145     else
146         warnlog( " * Window not maximized" )
147     endif
149     hDestroyDocument()
151 endcase
153 '*******************************************************************************
155 sub sAllWindowTitle
157     '///<h3>Update test: Check the window titles for all applications</h3>
158     '///<ul>
159     
161     '///+<li>writer</li>
162     gApplication = "WRITER"
163     call tCheckWindowTitle("swriter","Writer")
165     '///+<li>MasterDoc</li>
166     gApplication = "MASTERDOCUMENT"
167     call tCheckWindowTitle("sglobal","Writer")
169     '///+<li>HTML document</li>
170     gApplication = "HTML"
171     call tCheckWindowTitle("sweb","Writer/Web")
173     '///+<li>Calc</li>
174     gApplication = "CALC"
175     call tCheckWindowTitle("scalc","Calc")
177     '///+<li>Impress</li>
178     gApplication = "IMPRESS"
179     call tCheckWindowTitle("simpress","Impress")
181     '///+<li>Draw</li>
182     gApplication = "DRAW"
183     call tCheckWindowTitle("sdraw","Draw")
185     '///+<li>Math</li>
186     gApplication = "MATH"
187     call tCheckWindowTitle("smath","Math")
189     qaerrorlog( "Excluded BASE and BACKINGWINDOW" )
191     'gApplication = "DATABASE"
192     'call tCheckWindowTitle("DATABASE","Base")
194     'fileclose
195     'call tCheckWindowTitle("soffice","")
196     '///</ul>
197 end sub
199 '*******************************************************************************
201 testcase tCheckWindowTitle(sApplication as string, sReference as string)
203     '///<h1>Update test for the office window titles</h1>
204     '///<u>Input</u>:
205     '///<ol>
206     '///+<li>Name of application (string), case sensitive. Valid options are:</li>
207     '///<ol>
208     '///+<li>&quot;swriter&quot;</li>
209     '///+<li>&quot;sglobal&quot;</li>
210     '///+<li>&quot;sweb&quot;</li>
211     '///+<li>&quot;scalc&quot;</li>
212     '///+<li>&quot;simpress&quot;</li>
213     '///+<li>&quot;sdraw&quot;</li>
214     '///+<li>&quot;smath&quot;</li>
215     '///+<li>&quot;insight&quot; * Currently disabled</li>
216     '///+<li>&quot;soffice&quot; * Currently disabled</li>
217     '///</ol>
218     '///+<li>Reference name (string), matches name of application</li>
219     '///<ol>
220     '///+<li>&quot;Writer&quot;</li>
221     '///+<li>&quot;Writer&quot;</li>
222     '///+<li>&quot;Writer/Web&quot;</li>
223     '///+<li>&quot;Calc&quot;</li>
224     '///+<li>&quot;Impress&quot;</li>
225     '///+<li>&quot;Draw&quot;</li>
226     '///+<li>&quot;Math&quot;</li>
227     '///+<li>&quot;Base&quot; * Currently disabled</li>
228     '///+<li>&quot;&quot; * Currently disabled</li>
229     '///</ol>
230     '///</ol>
231     '///<u>Returns</u>:
232     '///<ol>
233     '///+<li>Nothing</li>
234     '///</ol>
235     '///<u>Description</u>:
236     '///<ul>
237     
239     dim sTemp as string
240     dim saTemp() as string
241     dim brc as boolean
242     gApplication = UCase (gApplication)
243     printlog " - Application: " + sApplication + "; Title should be: " + sReference
244     '///+<li>Make sure exactly one document is open</li>
245     hInitSingleDoc()
246     
247     '///+<li>Open a new document</li>
248     hCreateDocument()
250     '///+<li>Ensure the correct window is open (e.g. goto Basic IDE)</li>
251     select case sApplication
252         case"swriter":
253         case"sglobal":
254         case"sweb":
255         case"scalc":
256         case"simpress":
257         case"sdraw":
258         case"smath":
259         case"basic":
260             ToolsMacroMacro
262             kontext "makro"
264             if Makro.exists(5) then
265                 MakroAus.typeKeys "<end>"
267                 if (Neu.isEnabled) then
268                     Neu.click
270                     kontext "basicide"
272                     if BasicIDE.exists(5) then
273                         ' OK :-) here we want to stay
274                         printlog "OK :-)"
275                     else
276                         ' qaErrorlog "Unexpected 2"
277                     endif
279                 else
280                     qaErrorlog "Unexpected 1"
281                 endif
284                 try
286                     kontext "neuesmodul"
288                     if NeuesModul.exists(5) then
289                         NeuesModul.OK
290                     else
291                         qaErrorlog "Unexpected 3"
292                     endif
294                 catch
295                 endcatch
297             else
298                 qaErrorlog "Couldn't open Tools->Macros->Organize Macros...->StarOffice Basic..."
299             endif
301         case"chart":
302         case"DATABASE":
303         case"soffice":
304             brc = hDestroyDocument()
305     end select
307     '    sTemp = hWindowGetText("")   ' was a wOrkAround until the next line worked
308     '///+<li>Retrieve the caption</li>
309     sTemp = hGetWindowCaption(sApplication)
310     '    printlog sTemp
311     ' seperate each part of the title
312     
313     '///+<li>Split up the string, we just need a s mall part of the string</li>
314     saTemp() = fSplitWindowTitle(sTemp)
315     printlog "Filename/Untitled: '" + saTemp(0) + "'"
317     '///+<li>Compare the string to the reference, warn on error</li>
318     if (ubound(saTemp()) > 0) then
320         if (saTemp(1) <> sReference) then
321             warnlog "Applicationname not as expected. Sould be: '" + sReference + "', is: '" + saTemp(1) + "'"
322         endif
324         printlog "Productname: '" + saTemp(2) + "'"
325     else
326         warnlog "#i36173# - Applicationname not as expected. Should be: '" + sReference + "', is: '"+"'"
327     endif
329     '///+<li>Cleanup</li>
330     select case sApplication
331         case"swriter":
332         case"sglobal":
333         case"sweb":
334         case"scalc":
335         case"simpress":
336         case"sdraw":
337         case"smath":
338         case"basic":
339             brc = hDestroyDocument()
340         case"chart":
341         case"DATABASE":
342         case"soffice":
343             hCreateDocument()
344             hCreateDocument()
345     end select
347     '///+<li>Close the document</li>
348     while( getDocumentCount > 0 ) 
349         hDestroyDocument()
350     wend
351     '///</ul>
352     
353 endcase