merge the formfield patch from ooo-build
[ooovba.git] / testautomation / graphics / optional / includes / global / g_mediaplayer.inc
blobd6b910c25de767165db03fffea1f87b8f99b65ff
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: g_mediaplayer.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 10:42:40 $
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 : g_mediaplayer.inc
38 '*********************************************************************
39 ' #1 g_mediaplayer
40 '\********************************************************************
42 testcase g_mediaplayer
43     dim Datei$
44     dim timevalue1
45     dim timevalue2
46     dim timevalue3
47     dim timecounter, iWaitIndex, timefound as integer
48    
49     if iSprache <> 39 then
50         Printlog "- MediaPlayer"
51         if gPlatgroup = "unx" then
52            QaErrorLog "Solaris / Linux: Soundcard + Java Media Framework (JMF) Media-Libraries is needed."
53            goto endsub
54         endif
55         Datei$ = ConvertPath (convertPath (gTesttoolPath + "graphics\required\input\29secsound.wav"))
56         '/// Open New Document ///'
57         Call hNewDocument
58         sleep 2
59         '/// Check if the Media Player already exists - if so - close it ///'
60         kontext "mPlayer"
61         if mPlayer.exists then ' Close the MediaPlayer
62            warnlog "The MediaPlayer was visible since some earlier test. Plese notify FHA."
63            ToolsMediaPlayer
64            printlog "Closed the Media Player"
65         endif
66         
67         '/// Tools - MediaPlayer ///'
68         ToolsMediaPlayer
69         sleep 2
70         '/// Open file ///' 'a bigger / longer one
71         kontext "mPlayer"
72         if mPlayer.exists then
73            printlog "The MediaPlayer was open."
74         else
75            warnlog "Tools - MediaPlayer didnt work. The MediaPlayer wasnt visible. Aborting test."
76            Call  hCloseDocument    '/// Close document ///'
77            goto endsub
78         endif
79         Mopen.Click
80         kontext "OeffnenDlg"
81         Pfad.SetText Datei$
82         Oeffnen.Click
83         
84         '/// This test wont work correctly under Solaris and Linux, ///'
85         '/// unless some optional Media-libraries are installed. ///'
86         '/// Therefore we warn the tester about it if we cannot open the file. ///'
87         
88         iWaitIndex = 0
89         do while OeffnenDlg.Exists AND iWaitIndex < 10
90            sleep (1)
91            iWaitIndex = iWaitIndex + 1
92         loop
93         kontext "Active"
94         if Active.exists then
95            Warnlog "Error when opening file. Last dialogue said: " + Active.GetText
96            Active.OK
97            kontext "Mplayer"
98            ToolsMediaPlayer
99            Call hCloseDocument   '/// close document ///'
100            goto endsub
101         else
102            kontext "Mplayer"
103            if Mplayer.exists then printlog "Media Player was opened."
104         endif
105         
106         timevalue1 = mTimeedit.GetText
107         
108         '/// Stop ///'
109         sleep 2
110         mStop.Click
111         printlog "Just pressed stop."
112         sleep 1
113         timevalue2 = mTimeedit.GetText
114         sleep 2
115         timevalue3 = mTimeedit.GetText
116         printlog "The time was: " + mTimeedit.GetText
117         if timevalue1 = timevalue2 AND timevalue2 = timevalue3 then
118            if gtSYSName <> "WinXP" then '("Solaris x86" OR "Linux" OR "Solaris") then
119               warnlog "The sound doesnt seem to be played at all. And since the test is run on a platform which needs extra libraries, the test ends now."
120               kontext "Mplayer"
121               if Mplayer.Exists(3) then
122                  ToolsMediaPlayer
123           endif
124               Call  hCloseDocument   '/// close document ///'
125               goto endsub
126            else
127               warnlog "The sound doesnt seem to be played at all, but I will continue the test. The platform was: " + gtSYSName
128            endif
129         else
130            if timevalue1 <> timevalue2 AND timevalue2 = timevalue3 then
131               Printlog "the stop-button seemed to work. Good."
132            else
133               warnlog "Very strange. The first value was: " + timevalue1 + ". Second: " + timevalue2 + ". Third: " + timevalue3
134            endif
135         endif
136         '/// Play ///'
137         ' Save value
138         timevalue1 = mTimeedit.GetText
139         ' Press 'Play'
140         mPlay.Click
141         sleep 2
142         timevalue2 = mTimeedit.GetText
143         printlog "The time was: " + mTimeedit.GetText
144         if timevalue1 = timevalue2 then
145            warnlog "The play-button didnt seem to work"  ' Because the time did not change.
146         else
147            Printlog "the play-button seemed to work. Good."
148         endif
149         
150         '/// Pause ///'
151         mPlay.Click
152         sleep 10
153         mPause.Click
154         printlog "Pause."
155         timevalue1 = mTimeedit.GetText
156         sleep 2
157         timevalue2 = mTimeedit.GetText
158         printlog "The time was: " + mTimeedit.GetText
159         if timevalue1 <> timevalue2 then
160            warnlog "The pause-button didnt seem to work"
161         else
162            Printlog "the pause-button seemed to work. Good."
163         endif
164         
165         '/// Time ///'
166         mStop.Click  'to get to the beginning.
167         sleep 1      'And make sure it's really the beginning.
168         timevalue1 = mTimeedit.GetText
169         if timevalue1 <> "00:00:00 / 00:00:29" then
170            warnlog "Expected the time to go back to 00:00:00, but was " + timevalue1 + " instead."
171            mStop.Click  'to make another try to get to the beginning again.
172         else
173            printlog "Sound stopped, time-value set to 00:00:00."
174         endif
175         
176         printlog "We press 'Play'"
177         mPlay.Click  'to get it running
178         sleep 5
179         timefound = 0
180         
181         for timecounter = 1 to 50000
182             timevalue1 = mTimeedit.GetText
183             if timevalue1 = "00:00:20 / 00:00:29" then
184                timecounter = 50000
185                timefound = 1
186             endif
187             if timevalue1 = "00:00:29 / 00:00:29" then
188                timecounter = 50000
189                timefound = 2
190             endif
191         next timecounter
192         
193         if timefound = 1 then
194            Printlog "the time-counter seemed to work. Good."
195         elseif timefound = 2 then
196            warnlog "Contact the test-administrator, this test needs to be rewritten."
197         elseif timefound = 0 then
198            warnlog "Either the time didnt change, or the test-computer is too fast."
199         endif
200         
201         '-Repeat
202          'Plays the file repeatedly.
203         '/// Loop ///'
204         mLoop.Click
205         
206         '/// Volume ///'
207         'mVolume. 'Click
208         '-Volume slider
209          'Adjusts the volume.
210         
211         '/// Mute ///'
212         mMute.Click
213         sleep 1
214         mMute.Click
215         '-Mute
216         'Turns sound off and on.
217         
218         '/// Time-slider ///'
219         ' mTimeslider. 'Click
220          '-Position slider
221           'Moves to a different position in the file.
222         
223         '/// Scroll-whatever ///'
224         'mZoomlistbox.
225         '-Zoom
226          'Adjusts the size of the movie playback.
227         
228         '/// Apply ///'
229         mInsert.Click
230         sleep 10
231         
232         '/// Close the MediaPlayer via Tools - MediaPlayer ///'
233         ToolsMediaPlayer
234         
235         '/// Check if there is an object available. ///'
236         if (gApplication = "IMPRESS") then
237            kontext "DocumentImpress"
238         else
239            kontext "DocumentDraw"
240         endif
241         hTypeKeys ("<escape><tab>")
242         hOpenContextMenu()
243         hMenuSelectNr(1)
244         
245         Kontext "TabPositionAndSize"
246         Kontext
247         Active.SetPage TabPositionAndSize
248         Kontext "TabPositionAndSize"
249         if Width.Exists then
250            Printlog "Position and Size came up, object inserted correctly."
251            '/// Close dialog TabPositionAndSize with 'OK' ///'
252            TabPositionAndSize.OK
253         else
254            Warnlog "Position And Size didn't come up, was there no sound-object inserted?"
255         endif
256         sleep 2
257         '/// close document ///'
258         Call  hCloseDocument    '/// close document ///'
259     else
260         qaerrorLog "#74350# - Different strings in g_mediaplayer under Italian."
261     endif
262 endcase