merge the formfield patch from ooo-build
[ooovba.git] / testautomation / framework / optional / includes / ole_1.inc
blob24607c8d3b38ff6bb2c13c1de44e4279ba5c03b6
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: ole_1.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 12:18:15 $
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 : thorsten.bosbach@sun.com
36 '* short description : global-level-1-test -> insert all OLE-Objects out of OLE-dialog into all doc-types
38 '\******************************************************************************
40 testcase tOLEWriter
41     
42     '///Test all OLE-Objects you can insert out of menu
43     Dim i% : Dim k%
44     Dim sText$
45     
46     gApplication = "WRITER"
47     
48     '///'file / new / text document'
49     Call hNewDocument
50     
51     '///'insert / object / chart' without a table
52     PrintLog "- Writer :   Chart without table"
53     InsertObjectChart
54     sleep(4)    
55     '///+ click 'create' on the Autoformat dialog for Charts
56     Kontext "DocumentChart"
57     if DocumentChart.Exists(5) then
58         '///+ format / vhart type
59         FormatChartType
60         Kontext "ChartType"
61         if ChartType.Exists(5) then
62             '///+ press ( cancel ) in chart type dialog
63             ChartType.Cancel
64         else
65             warnlog "Chart Type dialog did bot occour."
66         end if        
67         Kontext "DocumentChart"
68         '///+ type ( escape )
69         DocumentChart.TypeKeys "<ESCAPE>"
70         '///+ delete the selected chart with keyboard ( delete )
71         Kontext "DocumentWriter"
72         DocumentWriter.TypeKeys "<DELETE>"
73         sleep(1)        
74     else
75         warnlog "Chart has not been inserted."
76     end if    
77     sleep(4)        
78     '///create a table with numbers
79     PrintLog "- Writer :   Chart out of a table only with numbers"
80     InsertTableWriter
81     
82     Kontext "TabelleEinfuegenWriter"
83     Spalten.SetText "3"
84     Zeilen.SetText "10"
85     TabelleEinfuegenWriter.OK
86     
87     Kontext "DocumentWriter"
88     for i%=1 to 10
89         for k%=1 to 3
90             sText$ = (i%+k%)*k%
91             DocumentWriter.TypeKeys  sText$
92             DocumentWriter.TypeKeys "<Right>"
93         next k%
94         DocumentWriter.TypeKeys "<Down>"
95         DocumentWriter.TypeKeys "<Left>", 3
96     next i%
97     
98     '///+if you are in the table 'insert / object / chart'
99     InsertObjectChart
100     hStepThroughChartWizard()
101     
102     '///+ delete the selected chart with keyboard ( delete )
103     Kontext "DocumentChart"
104     DocumentChart.typeKeys "<ESCAPE>"
105     Kontext "DocumentWriter"
106     DocumentWriter.TypeKeys "<Delete>"
107     Sleep 1
108     DocumentWriter.TypeKeys "<Down>", 20
109     DocumentWriter.TypeKeys "<Return>", 2
110     Sleep 1
111     
112     
113     '///create a new table only with characters
114     PrintLog "- Writer :   Chart out of a table only with chars"
115     InsertTableWriter
116     
117     Kontext "TabelleEinfuegenWriter"
118     Spalten.SetText "3"
119     Zeilen.SetText "10"
120     TabelleEinfuegenWriter.OK
121     
122     Kontext "DocumentWriter"
123     for i%=1 to 10
124         for k%=1 to 3
125             sText$ = (i%+k%)*k%
126             DocumentWriter.TypeKeys  "Hallo" + sText$
127             DocumentWriter.TypeKeys "<Right>"
128         next k%
129         DocumentWriter.TypeKeys "<Down>"
130         DocumentWriter.TypeKeys "<Left>", 3
131     next i%
132     
133     '///+if you are in the table 'insert / object / chart'
134     InsertObjectChart
135     
136     hStepThroughChartWizard()
137         
138     '///+ delete the selected chart with keyboard ( delete )
139     Kontext "DocumentChart"
140     DocumentChart.typeKeys "<ESCAPE>"
141     Kontext "DocumentWriter"
142     DocumentWriter.TypeKeys "<Delete>"
143     Sleep 1
144     DocumentWriter.TypeKeys "<Down>", 20
145     DocumentWriter.TypeKeys "<Return>", 2
146     Sleep 1
147     
148     '///insert a math object into the writer doc
149     PrintLog "- Writer :   Math"
150     
151     '///+ insert / object / formula
152     InsertObjectFormulaWriter
153     gMouseClick ( 1, 1)
154     
155     '///+ delete the selected mathobject with keyboard ( delete )
156     Kontext "DocumentWriter"
157     DocumentWriter.TypeKeys "<Delete>"
158     Sleep 1
159     
160     '///insert a floating object into the writer doc
161     PrintLog "- Writer :   floating frame"
162     
163     'warnlog( "#148094# - Crash when deselecting floating frame in Writer" )
164     
165     '///+insert / floating frame
166     InsertFloatingFrame
167     
168     '///+insert in the dialog as name 'hello' and as contents '[Testtoolpath]\global\input\graf_inp\borabora.jpg'
169     Kontext "TabEigenschaften"
170     FrameName.SetText "Hallo"
171     Inhalt.SetText ConvertPath ( gTesttoolPath+"global\input\graf_inp\borabora.jpg" )
172     
173     '///+click 'OK'
174     TabEigenschaften.OK
175     Sleep 2
176     
177     '///+ delete the selected frame with keyboard ( delete )
178     Kontext "DocumentWriter"
179     DocumentWriter.TypeKeys "<Delete>"
180     Sleep 1
181     
182     '///close the document
183     hCloseDocument
184     
185 endcase
187 '*******************************************************************************
189 testcase tOLECalc
192     '///<h1>Create charts within Calc as OLE objects</h1>
193     '///<ul>
195     dim i as Integer
196     dim k as Integer
197     
198     const ICWAIT as Integer = 2
199     dim brc as boolean
200     dim iCurrentPos as integer
201     dim iColumn as integer
202     dim iRow as integer
203     
204     const CHART_OBJECT_DEFAULT_POSITION_X = 30 
205     const CHART_OBJECT_DEFAULT_POSITION_Y = 30
206     const OUTSIDE_CHART_OBJECT_X = 1
207     const OUTSIDE_CHART_OBJECT_Y = 1    
208     const CURSOR_MOVEMENT_RETRIES = 20
209     const SELECT_CELLS_X = 7
210     const SELECT_CELLS_Y = 7
211     
212     gApplication = "CALC"
213     
214     '///+<li>Create a new spredsheet document</li>
215     brc = hCreateDocument()
216     if ( not brc ) then 
217         warnlog( "Failed to create new " & gApplication & " document" )
218     endif
219     
220     '///+<li>Insert a Chart Object without specifying a data range</li>
221     PrintLog "- Calc :   Chart without data"
222     InsertChartCalc
224     '///+<li>Step through the wizard without changing any settings, close it</li>    
225     hStepThroughChartWizard()
226     
227     '///+<li>Switch from editing to select mode of the OLE object by typing <ESC></li>
228     kontext "DocumentChart"
229     DocumentChart.typeKeys( "<ESCAPE>" )
230     
231     '///+<li>Remove focus from object by clicking into the document</li>
232     Kontext "DocumentCalc"
233     gMouseClick ( OUTSIDE_CHART_OBJECT_X , OUTSIDE_CHART_OBJECT_Y )
234     sleep( ICWAIT )
235     
236     '///+<li>Click on the chart and delete it with 'delete'</li>
237     ' If the OLE object is in selection mode the Drawing Object Bar should be
238     ' visible. As we do not know exactly where on the spreadsheet the object
239     ' appears we move from the upper left to the lower right corner of the 
240     ' document until we hit an OLE object and the Drawing Object Bar is enabled.
241     ' Then <DEL> is sent to the document hopefully deleting the object.
242     
243     for iCurrentPos = 1 to 9
244     
245         kontext "DocumentCalc" 
246         gMouseClick( 10 * iCurrentPos , 10 * iCurrentPos )
247         
248         Kontext "DrawingObjectBar"
249         if ( DrawingObjectBar.exists( 1 ) ) then
250         
251             kontext "DocumentCalc"
252             DocumentCalc.TypeKeys( "<Delete>" )
253             printlog( "Found drawing object, executed <DEL> on the object" )
254             exit for
255             
256         else
257         
258             qaerrorlog( "Drawing object not hit, trying again" )
259         
260         endif
261         
262     next iCurrentPos
263     '</ul>
265     
266     '///+<li>insert a chart with data</li>
267     '///<ul>
269     PrintLog "- Calc :   Chart with data"
270     
271     '///+<li>Create a table with random numbers in the cells A1 to G7</li>
272     kontext "DocumentCalc"
273     DocumentCalc.TypeKeys( "<MOD1 HOME>" )
274     for iColumn = 1 to SELECT_CELLS_Y
275         for iRow = 1 to SELECT_CELLS_X
276             hTypeKeys ( iColumn * iRow )
277             hTypeKeys ( "<Return>" )
278         next iRow
279         DocumentCalc.TypeKeys( "<Up><Left>", CURSOR_MOVEMENT_RETRIES )
280         DocumentCalc.TypeKeys( "<Right>", iColumn )
281     next iColumn
282     
283     '///+<li>Select the range A1 to G7</li>
284     DocumentCalc.TypeKeys( "<Up><Left>", CURSOR_MOVEMENT_RETRIES )
285     call ZellenMarkieren ( SELECT_CELLS_X , SELECT_CELLS_Y )
286     
287     '///+<li>Insert / chart</li>
288     InsertChartCalc
289     
290     '///+<li>Click on 'next' for each page in AutoFormat dialog for charts and on the last page click 'create'</li>
291     hStepThroughChartWizard()
292     
293     '///+<li>click in the spreadsheet document to deselect the chart</li>
294     Kontext "DocumentCalc"
295     DocumentCalc.typeKeys("<escape>")
296     sleep( ICWAIT )
297     '///</ul>
298     
299     '///+<li>insert a chart only with text in the table</li>
300     '///<ul>
301     PrintLog "- Calc :   Chart for a table only with text"
302     
303     '///+<li>Create a range of cells from A1 to G7 containing text content</li>
304     Kontext "DocumentCalc"
305     DocumentCalc.TypeKeys( "<MOD1 HOME>" )
306     for iColumn = 1 to SELECT_CELLS_Y
307         for iRow = 1 to SELECT_CELLS_X
308             hTypeKeys ( "Hallo<Return>" )
309         next iRow
310         DocumentCalc.TypeKeys "<Up><Left>", CURSOR_MOVEMENT_RETRIES
311         DocumentCalc.TypeKeys "<Right>", iColumn
312     next iColumn
313     
314     '///+<li>Select the range from A1 to G7</li>
315     DocumentCalc.TypeKeys "<Up><Left>", CURSOR_MOVEMENT_RETRIES
316     call ZellenMarkieren ( SELECT_CELLS_X , SELECT_CELLS_Y )
317     
318     '///+<li>Click insert / chart or go there via menu</li>
319     InsertChartCalc
320     
321     '///+<li>Step through the Chart Wizard keeping all defaults, finish it</li>
322     hStepThroughChartWizard()
323     
324     '///+<li>Click in the spreadsheet document to deselect the chart</li>
325     Kontext "DocumentCalc"
326     gMouseCLick ( OUTSIDE_CHART_OBJECT_X , OUTSIDE_CHART_OBJECT_Y )
327     sleep( ICWAIT )
328     '///</ul>
329     
330     '///+<li>Insert a math object</li>
331     '///<ul>
332     PrintLog( "- Calc :   Math" )
333     
334     '///+<li>Insert / object / formula</li>
335     InsertObjectFormulaCalc
336     sleep( ICWAIT )
337     
338     '///+<li>Click in the spreadsheet document to deselect the chart</li>
339     gMouseClick ( 50, 99 )
340     sleep( ICWAIT )
341     '///</ul>
342     
343     '///+<li>insert a floating frame</li>
344     '///<ul>
345     PrintLog( "- Calc :   floating frame" )
346     
347     '///+<li>Insert a floating frame</li>
348     InsertFloatingFrame
349     
350     '///+<li>Insert in the dialog as name 'hello' and as contents '[Testtoolpath]\global\input\graf_inp\borabora.jpg'</li>
351     Kontext "TabEigenschaften"
352     FrameName.SetText( "Hallo" )
353     Inhalt.SetText( ConvertPath ( gTesttoolPath+"global\input\graf_inp\borabora.jpg" ) )
354     
355     '///+<li>Click 'OK'</li>
356     TabEigenschaften.OK()
357     sleep( ICWAIT )
358     
359     '///+<li>Click in the spreadsheet document to deselect the chart</li>
360     gMouseCLick ( OUTSIDE_CHART_OBJECT_X , OUTSIDE_CHART_OBJECT_Y )
361     sleep( ICWAIT )
362     
363     '///</ul>
364     '///+<li>close the document</li>
365     brc = hDestroyDocument()
366     '///</ul>
367     
368 endcase
370 '*******************************************************************************
372 testcase tOLEDraw
373     
374     Dim i% : Dim k%
375     Dim iMenuCount(1) as integer
376     
377     gApplication = "DRAW"
378     
379     '///file / new / drawing
380     Call hNewDocument
381     
382     '///insert a math object
383     PrintLog "- Draw :   Math"
384     '///+insert / object / formula
385     InsertObjectFormulaDraw
386     sleep 2
387     
388     '///+click into the draw document once to set the focus on the math object
389     gMouseClick ( 1 , 1 )
390     sleep 1
391     
392     '///+delete the object with keyboard ( delete )
393     DocumentDraw.TypeKeys "<Delete>"
394     
395     '///insert a chart
396     PrintLog "- Draw :   Chart"
397     
398     '/// Special test: check that menubar switches, by comparing the count. ///'
399     hUseMenu()
400     iMenuCount(0) = menuGetItemCount
401     MenuSelect(0)
402     
403     '///+insert / chart
404     try
405         InsertObjectChart
406         Sleep ( 2 )
407         
408         Kontext "DocumentChart"
409         DocumentChart.useMenu
410         iMenuCount(1) = menuGetItemCount
411         MenuSelect(0)
412         if iMenuCount(0) = iMenuCount(1) then
413             warnlog "Menu bar didn't change after inserting OLE object; It should be different from: " +iMenuCount(0)
414         else
415             printlog "Menu bar did change; from: " + iMenuCount(0) + "; to: " + iMenuCount(1)
416         endif
417         
418         '///+click into the draw document once to set the focus on the math object
419         gMouseClick ( 1 , 1 )
420         Sleep ( 1 )
421         
422         '///+delete the object with keyboard ( delete )
423         DocumentDraw.TypeKeys "<Delete>"
424     catch
425         Call hReopenDoc
426     endcatch
427     
428     '///insert a spreadsheet
429     PrintLog "- Draw :   Calc"
430     
431     '///+insert / spreadsheet
432     InsertSpreadsheetDraw
433     sleep 2
434     
435     '///+click one time into the draw document to set only the focus on the math object
436     gMouseClick ( 1 , 1 )
437     sleep 1
438     
439     '///+delete the object with keyboard ( delete )
440     DocumentDraw.TypeKeys "<Delete>"
441     
442     '///insert a floating frame
443     PrintLog "- Draw :   floating frame"
444     
445     '///+insert / floating frame
446     try
447         InsertFloatingFrame
448         
449         Kontext "TabEigenschaften"
450         
451         '///+insert in the dialog as name 'hello' and as contents '[Testtoolpath]\global\input\graf_inp\borabora.jpg'
452         FrameName.SetText "Hallo"
453         Inhalt.SetText ConvertPath ( gTesttoolPath+"global\input\graf_inp\borabora.jpg" )
454         
455         '///+click 'OK'
456         TabEigenschaften.OK
457         Sleep 2
458         
459         '///+click one time into the draw document to set only the focus on the math object
460         gMouseClick ( 1 , 1 )
461         Sleep 1
462         
463         '///+delete the object with keyboard ( delete )
464         DocumentDraw.TypeKeys "<Delete>"
465     catch
466         Call hReopenDoc
467     endcatch
468     
469     hCloseDocument
470     
471 endcase
473 '*******************************************************************************
475 testcase tOLEImpress
476     
477     Dim i% : Dim k%
478     
479     gApplication = "IMPRESS"
480     
481     '///file / new / presentation
482     Call hNewDocument
483     
484     '///insert a math object
485     PrintLog "- Impress :   Math"
486     
487     '///+insert / object / formula
488     InsertObjectFormulaDraw
489     sleep 2
490     
491     '///+click one time into the impress document to set only the focus on the math object
492     gMouseClick ( 1 , 1 )
493     sleep 1
494     
495     '///+delete the object with keyboard ( delete )
496     DocumentImpress.TypeKeys "<Delete>"
497     
498     '*** Chart
499     PrintLog "- Impress :   Chart"
500     
501     try
502         '///+insert / chart
503         InsertObjectChart
504         sleep 2
505         
506         '///+click one time into the impress document to set only the focus on the math object
507         gMouseClick ( 1 , 1 )
508         sleep 1
509         
510         '///+delete the object with keyboard ( delete )
511         DocumentImpress.TypeKeys "<Delete>"
512     catch
513         Call hReopenDoc
514     endcatch
515     
516     '*** Calc
517     PrintLog "- Impress :   Calc"
518     
519     '///+insert / spreadsheet
520     InsertSpreadsheetDraw
521     sleep 2
522     
523     '///+click one time into the impress document to set only the focus on the math object
524     gMouseClick ( 1 , 1 )
525     sleep 1
526     
527     '///+delete the object with keyboard ( delete )
528     DocumentImpress.TypeKeys "<Delete>"
529     
530     '*** floating frame
531     PrintLog "- Impress :   floating frame"
532     
533     try
534         '///+insert / floating frame
535         InsertFloatingFrame
536         
537         Kontext "TabEigenschaften"
538         FrameName.SetText "Hallo"
539         
540         '///+insert in the dialog as name 'hello' and as contents '[Testtoolpath]\global\input\graf_inp\borabora.jpg'
541         Inhalt.SetText ConvertPath ( gTesttoolPath+"global\input\graf_inp\borabora.jpg" )
542         
543         '///+click 'OK'
544         TabEigenschaften.OK
545         Sleep 2
546         
547         '///+click one time into the impress document to set only the focus on the math object
548         gMouseClick ( 1 , 1 )
549         Sleep 1
550     catch
551         hReopenDoc
552     endcatch
553     
554     '///+delete the object with keyboard ( delete )
555     DocumentImpress.TypeKeys "<Delete>"
556     
557     hCloseDocument
558     
559 endcase