merge the formfield patch from ooo-build
[ooovba.git] / testautomation / graphics / optional / includes / impress / i_pengine2.inc
blob303b8c9e96d8caca678ef36ca2c7520d50430814
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: i_pengine2.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 10:42: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 : wolfram.garten@sun.com
36 '* short description : Tests the Presentation-Engines effects
38 '*******************************************************************
40 ' #1 tiPengineAnimationEffectsPreview
41 ' #1 tiPengineAnimationEffectsOptions
42 ' #1 tiPengineAllShapesAndEffects
43 ' #1 tiPengine2ObjectsGetsEffects
45 '\*******************************************************************
47 testcase tiPengineAnimationEffectsPreview
48     dim bError as boolean
50     '/// open application ///'
51     Call hNewDocument
52     '/// create textbox with text ///'
53     Call hTextrahmenErstellen ("Test text to test text effects", 35, 35, 70, 70 )
54     '/// Slide Show->Custom Animation... ///'
55     SlideShowCustomAnimation
56         Kontext "Tasks"
57         '/// click button 'Add...' ///'
58         EffectAdd.click
59         '/// Dialog 'Custom Animation' comes up ///'
60         kontext
61         '/// Switch to TabPage: Entrance ///'
62         active.setPage(TabEntrance)
63         kontext "TabEntrance"
64         if TabEntrance.exists(5) then
65            DialogTest(TabEntrance)
66            TestAnimations
67            '/// Switch to TabPage: Emphasis ///'
68            kontext
69            active.setPage(TabEmphasis)
70            kontext "TabEmphasis"
71               if TabEmphasis.exists(5) then
72                  DialogTest(TabEmphasis)
73                  TestAnimations
74               else
75                  bError = true
76                  warnlog "Impress:Tasks Pane:Custom Animation:TabEmphasis tabPage doesn't work."
77               endif
78            kontext
80            '/// Switch to TabPage: Exit ///'
81            active.setPage(TabExit)
82            kontext "TabExit"
83               if TabExit.exists(5) then
84                  DialogTest(TabExit)
85                  TestAnimations
86               else
87                  bError = true
88                  warnlog "Impress:Tasks Pane:Custom Animation:TabExit tabPage doesn't work."
89               endif
90            kontext
92            '/// Switch to TabPage: Motion Paths ///'
93            active.setPage(TabMotionPaths)
94            kontext "TabMotionPaths"
95               if TabMotionPaths.exists(5) then
96                  DialogTest(TabMotionPaths)
97                  TestAnimations
98               else
99                  bError = true
100                  warnlog "Impress:Tasks Pane:Custom Animation:TabMotionPaths tabPage doesn't work."
101               endif
102            kontext
104            '/// Switch to TabPage: Entrance ///'
105            active.setPage(TabEntrance)
106            kontext "TabEntrance"
107            if TabEntrance.exists(5) then
108               Effects.Select 4
109               '/// Close dialog 'Custom Animation' with 'OK' ///'
110               TabEntrance.OK
111            else
112               warnlog "Error when switching Tab"
113            endif
114            bError = false
115         else
116            bError = true
117            warnlog "Impress:Tasks Pane:Custom Animation:Add... button didn't work."
118         endif
119         Kontext "Tasks"
120         if (NOT bError) then
121             '/// click button 'Change...' ///'
122             EffectChange.click
123             '/// Dialog 'Custom Animation' comes up ///'
124             kontext
126             '/// Switch to TabPage: Entrance ///'
127             active.setPage(TabEntrance)
128             kontext "TabEntrance"
129             if (NOT TabEntrance.exists(5)) then
130                 warnlog "Impress:Tasks Pane:Custom Animation:Change... button didn't work."
131             endif
132             TabEntrance.Cancel
133             Kontext "Tasks"
134             EffectStart.GetItemCount
135             if EffectProperty.IsVisible then
136                 EffectProperty.GetItemCount
137             endif
138             '/// CLick on button '...' (Options) ///'
139             EffectOptions.Click
140             kontext "TabEffect"
141             if TabEffect.Exists(5) then
142                 dialogTest(TabEffect)
143                 Sound.GetItemCount
144                 AfterAnimation.GetItemCount
146                 '/// switch to TabPage 'Timing' ///'
147                 Kontext
148                 Active.SetPage TabTiming
149                 kontext "TabTiming"
150                 if TabTiming.Exists(5) then
151                     dialogTest(TabTiming)
152                     TimingStart.GetItemCount
153                     Delay.GetText
154                     Speed.GetItemCount
155                     Repeat.GetItemCount
156                     Rewind.Ischecked
157                     TriggerAnimate.IsChecked
158                     TriggerStart.IsChecked
159                     Shape.GetItemCount
160                 else
161                     warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: Timing TabPage didn't work."
162                 endif
164                 '/// switch to TabPage 'Timing' ///'
165                 Kontext
166                 active.setPage TabTextAnimation
167                 kontext "TabTextAnimation"
168                 if TabTextAnimation.Exists(5) then
169                     dialogTest(TabTextAnimation)
170                     GroupText.GetItemCount
171                     AnimateAttachedShape.IsChecked
172                     TabTextAnimation.Cancel
173                 else
174                     warnlog "Impress:Tasks Pane:Custom Animation:Effect Options: TextAnimation TabPage didn't work."
175                 endif
176             else
177                 warnlog "Impress:Tasks Pane:Custom Animation:... button didn't work."
178             endif
179             Kontext "Tasks"
180             EffectSpeed.GetItemCount
181             EffectList.GetItemCount
182             EffectPlay.Click
183             sleep (3)
184             EffectSlideShow.Click
185             sleep (1)
186             kontext "DocumentPresentation"
187             if DocumentPresentation.Exists (15) then
188                 printlog "Presentation started :-)"
189                 DocumentPresentation.TypeKeys "<SPACE>"
190                 if DocumentPresentation.Exists (15) then
191                     DocumentPresentation.TypeKeys "<SPACE>"
192                 endif
193                 if DocumentPresentation.Exists (15) then
194                     DocumentPresentation.TypeKeys "<ESCAPE>"
195                 endif
196             else
197                 warnlog "Impress:Tasks Pane:Custom Animation:Slide Show button doesn't start slideshow!"
198             endif
199             sleep (2)
200             kontext "Tasks"
201             EffectAutomaticPreview.Check
202             '/// click button 'Remove' ///'
203             EffectRemove.Click
204         endif
205         sleep (2)
206     '/// close application ///'
207     Call hCloseDocument
208 endcase 'tiPengineAnimationEffectsPreview
210 '------------------------------------------------------------------------------
212 testcase tiPengineAnimationEffectsOptions
213     dim bError as boolean
214     dim e as integer
215     dim d as integer
216     dim i as integer
217     dim l as integer
218     dim o as integer
219     dim p as integer
220     dim q as integer
221     dim s as integer
222     dim t as integer
223     dim u as integer
224     dim y as integer
225     dim w as integer
226     dim numberx as integer
227     dim Effectname1 as string
228     dim StartName1 as string
229     dim PropertyName1 as string
231 '/// open application ///'
232 Call hNewDocument
233 '/// create textbox with text ///'
234 Call hTextrahmenErstellen ("Test text to test text effects", 35, 35, 70, 70 )
235 '/// Slide Show->Custom Animation... ///'
236 SlideShowCustomAnimation
237    '/// Dialog 'Custom Animation' comes up ///'
238    Kontext "Tasks"
239    '/// Click button 'Add...' to add an effect to the text ///'
240    EffectAdd.click
241    kontext
242    '/// Switch to TabPage: Entrance ///'
243    active.setPage(TabEntrance)
244    kontext "TabEntrance"
245    if TabEntrance.exists(5) then
246       AutomaticPreview.UnCheck
247       Printlog "Testing effects in - TabEntrance"
248       i = Effects.GetItemCount
249       p = 7555
250       Effects.TypeKeys "<HOME DOWN>"
251       Randomize
252       '/// Choose ten random effects, and test them. ///'
253       For e = 1 to 10
254           randomize
255           for y = 1 to 1
256               randomize
257               numberx = Int((i*Rnd))
258               if (numberx<1) OR (numberx>i) then      '  Just so we get it between 1 and the amount of items.
259                  y = y - 1
260               endif
261           next y
262           printlog numberx                                       ' Log what effect were about to select. Just for debugging.
263           Effects.TypeKeys "<HOME>"
264           Effects.TypeKeys "<DOWN>", numberx      ' Select the effect.
265           sleep 1
266           Printlog "Effect Nr: " + (Effects.GetSelIndex -1) + ". Name: " + Effects.GetSelText     ' Log the number and effect-name.
267           Effectname1 = Effects.GetSelText
268           if AutomaticPreview.IsChecked = TRUE then sleep 1      '  Sleep one sec to at least let the preview start.
269           d = Effects.GetSelIndex
270           TabEntrance.Ok
271           optionstest2                           ' Do the optionstest for this effect.
272           Kontext "Tasks"
273              if Tasks.Exists then
274                 EffectChange.Click
275              else
276                 Warnlog "Something wrong when exiting Impress:Tasks Pane:Custom Animation: ... (options)"
277              endif
278              kontext "TabEntrance"
279              '/// Select the next entry ///'
280              Effects.TypeKeys "<DOWN>", e
281              p = Effects.GetSelIndex
282              If p = d Then e = i
283              sleep 2
284              if Speed.isVisible then
285                 if Speed.isEnabled then
286                    s = Speed.GetItemCount
287                    For q = 1 to s
288                        try
289                           Speed.Select q
290                        catch
291                           warnlog "The speed nr: " + q + " had some kind of problem. Check it."
292                        endcatch
293                    Next q
294                 endif
295              else
296                 Warnlog "Speed in Effect Options were not to be found."
297              endif
298       Next e
299       kontext "TabEntrance"
300       Printlog "Test of Entrance-list ended."
301       AutomaticPreview.Check
302       TabEntrance.Ok
303    else
304       bError = true
305       warnlog "Impress:Tasks Pane:Custom Animation:Add... button didnt work."
306    endif
307    kontext "Tasks"
308    EffectAutomaticPreview.Check
309    '/// click button 'Remove' ///'
310    EffectRemove.Click
311    '/// close application ///'
312    Call hCloseDocument
313 endcase 'tiPengineAnimationEffectsOptions
315 '------------------------------------------------------------------------------------------------------------------------------------------------------
317 testcase tiPengineAllShapesAndEffects
318    dim sFileName as string
320 '/// the Presentation-Engine consists of showing the presentation, with all it's effects. ///'
322     '/// Create a new presentation. ///'
323     Call hNewDocument
324     Sleep (1)
326     '/// Open the test-file. ///'
327     Call hFileOpen (gTesttoolpath + "graphics\required\input\allshapes2.odp") 'effects.odp")
328     
329     '/// Start the slideshow. ///'
330     Call hTypeKeys "<F5>"
331     sleep (10)
332     kontext "DocumentPresentation"
333     while DocumentPresentation.exists()
334         DocumentPresentation.TypeKeys "<SPACE>"
335         sleep(10)
336     wend
337     
338     Kontext "DocumentImpress"
339     if (DocumentImpress.exists(1)) then
340         'nothing
341     else
342         warnlog "presentation not ended."
343     endif
345     Call hCloseDocument
347     sleep (1)
348     '/// Open the test-file. ///'
349     Call hFileOpen (gTesttoolpath + "graphics\required\input\effects.odp")
350     Sleep (10)
351     
352     '/// Start the slideshow. ///'
353     CALL hTypeKeys "<F5>"
354     Sleep (10)
355     '/// Press "Space" again, to continue with slide two. ///'
356     kontext "DocumentPresentation"
357      while DocumentPresentation.exists()
358         DocumentPresentation.TypeKeys "<SPACE>"
359         sleep(10)
360     wend
362     printlog "End of eleventh page."
363     if DocumentPresentation.Exists then
364         warnlog "DocumentPresentation shouldnt be visible right now."
365         DocumentPresentation.TypeKeys "<SPACE>"
366     else
367         printlog "Presentation ended correctly."
368         kontext "DocumentImpress"
369     end if
371 '/// Close Application ///'
372     Call hCloseDocument
373     Printlog "Finished Optional-test for Presentation-Engine"
374 endcase 'tiPengineAllShapesAndEffects
376 '-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
378 testcase tiPengine2ObjectsGetsEffects
379     dim i as integer
380     dim t as integer
381     dim q as integer
382     dim e as integer
383     dim sFileName as string
385     printlog "the Presentation-Engine consists of showing the presentation, with all it's effects."
387     printlog "Create a new presentation."
388     Call hNewDocument
389     sleep (1)
391     kontext "Toolbar"
392     sleep (1)
393     printlog "insert a Smiley."
394     printlog "From the toolbar: Insert three objects:"
395     printlog "insert a Smiley."
396     kontext "Toolbar"
397     if Toolbar.Exists then
398         if Toolbar.IsVisible then
399             sleep (1)
400             try
401                 SymbolShapes.TearOff
402             catch
403                 warnlog "Issue for GH; .tearoff doesnt tell success"
404             endcatch
405             sleep (1)
406             kontext "SymbolShapes"
407             SymbolShapesSmiley.Click
408             sleep (1)
410             gMouseDown (40,40)
411             gMouseMove (40,40,60,60)
412             gMouseUp (60,60)
414             sleep (1)
415             kontext "SymbolShapes"
416             SymbolShapes.Close
418             printlog "Unmark all objects"
419             hTypeKeys "<ESCAPE>"
421             printlog "Mark the Smiley"
422             hTypeKeys "<TAB>"
423         else
424             warnlog "No toolbar visible, please notify the test-administrator"
425         end if
426     else        
427         warnlog "toolbar not visible"
428     end if
430     printlog "Smiley inserted, time to add some effects."
432     printlog "Effect no 1"
434     printlog "Slide Show->Custom Animation..."
435     SlideShowCustomAnimation
436         Kontext "Tasks"
437         printlog "Click button 'Add...'"
438         EffectAdd.click
439         printlog "Dialog 'Custom Animation' comes up"
440         kontext
441         printlog "Switch to TabPage: Entrance"
442         active.setPage(TabEntrance)
443         kontext "TabEntrance"
444         if TabEntrance.exists(5) then
445             DialogTest(TabEntrance)
446             printlog "Find 'Dissolve-in'." 
447             TabEntrance.TypeKeys "<DOWN>", 6
448             Sleep (3)
449             TabEntrance.Ok
450             Printlog "Added effect 'Dissolve-in'"
451         else
452             warnlog "Tab Entrance does not exist?"
453         end if
454         Kontext "Tasks"
456     printlog "Effect no 2"
458     printlog "Add a second effect to the object"
459     EffectAdd.click
460     
461     printlog "Dialog 'Custom Animation' comes up"
462     printlog "Switch to TabPage: Emphasis"
463     kontext
464     active.setPage(TabEmphasis)
465     kontext "TabEmphasis"
466     if TabEmphasis.exists(5) then
467         DialogTest(TabEmphasis)
468         Effects.Select 5    'Transparency
469         Sleep (3)
470         printlog "Close dialog 'Custom Animation' with 'OK'"
471         TabEmphasis.OK
472         Printlog "Added effect 'Transparency'"
473     else
474         warnlog "Error when switching Tab"
475     end if
476     Kontext "Tasks"
478     printlog "Effect no 3"
480     printlog "Insert new slide"
481     InsertSlide
482     Printlog "Inserted new Slide" 
484     kontext "Slides"
485     printlog "Make sure the last slide is selcted"
486     SlidesControl.TypeKeys "<TAB>"
487     SlidesControl.TypeKeys "<PAGEDOWN>", 3
488     Sleep (1)
490     printlog "Insert new object"
491     Call hTextrahmenErstellen ("Test text for the second slide to test the PresentationEngine", 35, 35, 70, 70)
493     printlog "Add the Transformation-Effect 'put on the brakes'" 
494     SlideShowCustomAnimation
495         Kontext "Tasks"
496         printlog "Click button 'Add...'"
497         EffectAdd.click
498             printlog "Dialog 'Custom Animation' comes up"
499             kontext
500             printlog "Switch to TabPage: Entrance"
501             active.setPage(TabEntrance)
502             kontext "TabEntrance"
503             if TabEntrance.exists(5) then
504                 printlog "Add Transformation-Effect: 'Put on the Breaks'"
505                 TabEntrance.TypeKeys "<DOWN>", 30  
506                 Sleep (3)
507                 TabEntrance.Ok
508                 Printlog "Added effect 'Put on the Breaks'"
509             else
510                 warnlog "Impress:Tasks Pane:Custom Animation:Add... button didn't work."
511             end if
512             Kontext "Tasks"
514             printlog "Effect no 4"
516             printlog "Click button 'Add...'"
517             EffectAdd.click
518             printlog "Dialog 'Custom Animation' comes up"
519             kontext
520             printlog "Switch to TabPage: Motion Paths"
521             active.setPage(TabMotionPaths)
522             kontext "TabMotionPaths"
523             if TabMotionPaths.exists(5) then
524                 printlog "Add motion-path-effect:  'schwosch'"
525                 TabMotionPaths.TypeKeys "<DOWN>", 66 
526                 Sleep (3)                
527                 TabMotionPaths.Ok
528                 Printlog "Added effect 'Schwosch'"
529                 kontext "Tasks"
530             else
531                 warnlog "Couldn't find the Tabpage: MotionPaths. Check why."
532             end if
534         printlog "Press 'PageUp' to get to the first slide"
535         hTypeKeys "<PAGEUP>"
537         printlog "Run the slideshow with F5."
538         hTypeKeys "<F5>"
539         Sleep (5)
540         kontext "DocumentPresentation"
541         if DocumentPresentation.Exists (15) then
542             Printlog "Presentation started, calling 1st effect, 1st object."
543             DocumentPresentation.TypeKeys "<SPACE>"
544             sleep (5)
545         else
546             warnlog "Slideshow didn't start. Check why."
547         end if
548         printlog "calling 2nd effect, 1st object."
549         DocumentPresentation.TypeKeys "<SPACE>"
550         Sleep (5)
551         printlog "calling 2nd slide."
552         DocumentPresentation.TypeKeys "<SPACE>"
553         Sleep (5)
554         printlog "calling 1st effect, 2nd object"
555         DocumentPresentation.TypeKeys "<SPACE>"
556         Sleep (5)
557         printlog "calling 2nd effect, 2nd object"
558         DocumentPresentation.TypeKeys "<SPACE>"
559         Sleep (5)
560         printlog "ending presentation"
561         DocumentPresentation.TypeKeys "<SPACE>"
562         Sleep (5)
563         Kontext "DocumentPresentation"
564         printlog "getting back to edit view."
565         DocumentPresentation.TypeKeys "<SPACE>"
566         
567         if DocumentPresentation.Exists(5) then 
568             warnlog "Presentation should have ended. Check why it didn't."
569         end if
571         Kontext "DocumentImpress"
573     printlog "Close the document"
574     Call hCloseDocument
575     Printlog "Finished Optional-test for Presentation-Engine"
576 endcase 'tiPengine2ObjectsGetsEffects
578 '------------------------------------------------------------------------------------------------------------------------------------------------------
580 Function TestAnimations
581    '/// select in the listbox 'Effects' the second entry///'
582    Dim i as Integer
583    Dim s as Integer
584    Dim q as Integer
585    Dim e as Integer
586    Dim o as Integer
587    Dim p as Integer
588    i = Effects.GetItemCount
589    s = Speed.GetItemCount
590    AutomaticPreview.Check
591    Effects.TypeKeys "<HOME>"
592    For e = 1 to i
593        If e <> p Then
594            if AutomaticPreview.isChecked = TRUE then sleep 1
595            Printlog "Effect has position Nr: " + Effects.GetSelIndex + ". Name of effect: " + Effects.GetSelText
596            '/// Select the next entry ///'
597            Effects.TypeKeys "<DOWN>"
598            p = Effects.GetSelIndex
599        Else
600            Printlog "Test of effects ended."
601            e = i
602        Endif
603    Next e
604    if Speed.IsEnabled then
605        For q = 1 to s
606            Speed.Select q
607            sleep 1
608        Next q
609    endif
610    AutomaticPreview.Check
611    sleep 1
612    AutomaticPreview.Check
613    Kontext
614 end Function