merge the formfield patch from ooo-build
[ooovba.git] / testautomation / graphics / optional / includes / global / g_clipboard.inc
blobd0312ba52b7d55ecea2fdd97d1700d867d97946a
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_clipboard.inc,v $
11 '* $Revision: 1.1 $
13 '* last change: $Author: jsi $ $Date: 2008-06-16 10:42:39 $
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 :
38 '**************************************************************************************
39 ' #1 tiEditUndo
40 ' #1 tiEditRedo
41 ' #1 tiEditClipboard
42 ' #1 tiEditPasteSpecial_HTML
43 ' #1 tdEditPasteSpecial_Text
44 ' #1 tdEditPasteSpecial_Graphic
45 ' #1 tdEditPasteSpecial_Circle
46 ' #1 tiEditPasteSpecial
47 '\*************************************************************************************
49 testcase tiEditUndo
51     Dim sDatei as string
52     Dim Ueber_Text_1 as string
53     
54     if (gApplication = "IMPRESS") then 
55         ExtensionString = "odp"
56     else
57         ExtensionString = "odg"
58     end if
59     
60     sDatei = gTesttoolPath + "graphics\required\input\leer."+ExtensionString
61     
62     hFileOpen ConvertPath (sDatei)
63     sleep 5
64     printlog "Checking for readonly state. If so, make it editable."
65     sMakeReadOnlyDocumentEditable
67     hTypeKeys "<TAB><TAB>"
68     sleep 3
69     ContextPositionAndSize
70     Kontext
71     if Messagebox.exists (5) then
72       Messagebox.SetPage TabPositionAndSize
73     else
74       print "what"
75     endif
76     Kontext "TabPositionAndSize"
77     Ueber_Text_1=PositionX.GetText                              '/// defining variable for original position of object ///'
78     TabPositionAndSize.Cancel
79     sleep 2
80     Kontext "Toolbar"
81     Auswahl.Click
82     sleep 1
83     ContextArrangeBringBackward                                 '/// Bring Object backward ///'
84     sleep 1
85     gMouseClick 60,60
86     sleep 1
87     Kontext "Toolbar"
88     Auswahl.Click
89     sleep 1
90     hTypeKeys "<TAB><TAB>"
91     Kontext "Toolbar"
92     Auswahl.Click
93     sleep 1
94     ContextPositionAndSize                                      '/// Open Position and Size dialog, checking position ///'
95     Kontext
96     Messagebox.SetPage TabPositionAndSize
97     Kontext "TabPositionAndSize"
98     if PositionX=0 Then Warnlog "  Command was not completely executed, and it could not be undone."
99     TabPositionAndSize.Cancel
100     sleep 2
101     gMouseClick 60,60
102     sleep 1
103     
104     EditUndo                                                    '/// Edit Undo for BringBackward ///'
105     Sleep 2
106     gMouseClick 60,60
107     sleep 1
108     Kontext "Toolbar"
109     Auswahl.Click
110     hTypeKeys "<TAB><TAB>"
111     sleep 1
112     Kontext "Toolbar"
113     Auswahl.Click
114     ContextPositionAndSize                                      '/// Again checking position using Position and Size dialog ///'
115     kontext
116     Messagebox.SetPage TabPositionAndSize
117     kontext "TabPositionAndSize"
118     if PositionX.GetText = Ueber_Text_1 then
119       printlog "OK, last order could be redone"
120     else
121       warnlog "Last order could not be redone"
122     end if
123     TabPositionAndSize.Cancel
124     
125     Call hCloseDocument                                         '/// Close document ///'
127 endcase
129 '-------------------------------------------------------------------------------
130 testcase tiEditRedo
131     
132     Dim Datei$
133     Dim Ueber_Text_1
134     
135     if (gApplication = "IMPRESS") then 
136         ExtensionString = "odp"
137     else
138         ExtensionString = "odg"
139     end if
140     
141     Datei$ = gTesttoolPath + "graphics\required\input\leer."+ExtensionString
142     
143     hFileOpen ConvertPath (Datei$)                      '/// Open test document (leer.od?) ///'
144     sleep 3
145     ' check if the document is writable
146     if fIsDocumentWritable = false then
147         ' make the document writable and check if it's succesfull
148         if fMakeDocumentWritable = false then
149             warnlog "The document can't be make writeable. Test stopped."
150             goto endsub
151         endif
152     endif
153     sleep 1
154     gMouseClick 30,10
155     sleep 1
156     hTypeKeys "<TAB>"
157     sleep 2
158     ContextPositionAndSize
159     sleep 1
160     Kontext
161     Messagebox.SetPage TabPositionAndSize
162     Kontext "TabPositionAndSize"
163     Ueber_Text_1=PositionX.GetText
164     TabPositionAndSize.Cancel
165     sleep 1
166     hTypeKeys "<TAB>"
167     sleep 1
168     ContextArrangeBringBackward                                 '/// move object behind other object ///'
169     sleep 1
170     gMouseClick 60,60
171     sleep 1
172     hTypeKeys "<TAB>"
173     sleep 1
174     ContextPositionAndSize
175     sleep 1
176     Kontext
177     Messagebox.SetPage TabPositionAndSize                                       '/// checking new position values ///'
178     Kontext "TabPositionAndSize"
179      if PositionX.GetText = Ueber_Text_1 Then Warnlog "  Nothing changed, so nothing can be undone"
180     TabPositionAndSize.Cancel
181     sleep 1
182     gMouseClick 60,60
183     EditUndo                                                    '/// Edit Undo///'
184     sleep 1
185     hTypeKeys "<TAB>"
186     sleep 1
187     ContextPositionAndSize
188     sleep 1
189     kontext
190     Messagebox.SetPage TabPositionAndSize                                       '/// checking again position ///'
191     kontext "TabPositionAndSize"
192     if PositionX.GetText <> Ueber_Text_1 Then Warnlog "  Undo didn't worked, so repeat last action wont work either"
193     TabPositionAndSize.Cancel
194     sleep 2
195     EditRedo                                                    '/// Edit Redo ///'
196     sleep 2
197     gMouseClick 60,60
198     sleep 2
199     hTypeKeys "<TAB>"
200     sleep 2
201     ContextPositionAndSize
202     sleep 1
203     kontext
204     Messagebox.SetPage TabPositionAndSize
205     kontext "TabPositionAndSize"
206     if PositionX.GetText <> Ueber_Text_1 then                   '/// checking position ///'
207       printlog "Action Undo repeated"
208     else
209       warnlog "Action Undo not repeated"
210     end if
211     TabPositionAndSize.OK
212     sleep 1
213     call hCloseDocument                                         '/// close document ///'
214     sleep 1
215 endcase
217 '-------------------------------------------------------------------------------
218 testcase tiEditClipboard
220     Dim Ueber_Text_4 as string
221     dim sTemp as string
222     
223     '/// open application ///'
224     Call hNewDocument
225     sleep 1
226     SetClipboard ""
227     '/// Create rectangle ///'
228     Call hRechteckErstellen ( 65, 65, 80, 80 )
229     sleep 1
230     '///+ RightClick onto rectangle///'
231     gMouseClick 70,70
232     sleep 1
233     Ueber_Text_4 = fGetPositionX()                              '/// Get values for position variables ///'
234     Sleep 1
235     '/// <b> Edit->Copy </b> ///'
236     EditCopy
237     '///+ Type Key [Deletee] ///'
238     hTypeKeys "<DELETE>"
239     '///+ <i> Edit->Paste </i> ///'
240     EditPaste
241     sleep 1
242     '///+   Edit->Select All ///'
243     EditSelectAll
244     sTemp = fGetPositionX()
245     if LiberalMeasurement(sTemp, Ueber_Text_4) then                     '/// TabPositionAndSize: comparing position with original position ///'
246       printlog "OK   EditCopy and EditPaste"
247     else
248       warnlog "- Edit paste did not work; is: '" + sTemp + "' ; should: '" + Ueber_Text_4 + "'"
249     end if
250     sleep 1
251     '/// Type Keys [escape], + EditSelectAll (to deselect object and to select again) ///'
252     hTypeKeys "<escape>"
253     EditSelectAll
254     sleep 2
255     '/// <b> Edit->Cut </b>///'
256     EditCut
257     sleep 1
258     hTypeKeys "<TAB>"
259     try
260       '///+ - Format->Position And Size -> HAS TO FAIL / IS NOT AVAILABLE !!! '///'
261       ContextPositionAndSize
262          kontext
263          '///+ - select TabPage 'Position And Size' ///'
264          Messagebox.SetPage TabPositionAndSize
265          Kontext "TabPositionAndSize"
266          if TabPositionAndSize.NOTexists then
267             warnlog "TabPositionAndSize isn't up ?!!"
268          endif
269       '///+ - Ok dialog 'Position And Size' ///'
270       TabPositionAndSize.Ok
271       warnlog "TabPositionAndSize IS up :-( Doesn't have to be, because object should be deleted !!!"
272     catch
273       Printlog " - There is no object in the document anymore :-)"
274     endcatch
275     sleep 1
276     '///+ <i> Edit->Paste </i> ///'
277     EditPaste
278     sleep 2
279     sTemp = fGetPositionX()
280     if LiberalMeasurement(sTemp, Ueber_Text_4) then
281         printlog "OK   Edit paste"
282     else
283       warnlog "- Edit paste did not work; is: '" + sTemp + "' ; should: '" + Ueber_Text_4 + "'"
284     end if
285     sleep 3
286     '/// close application ///'
287     Call hCloseDocument
288 endcase
290 '-------------------------------------------------------------------------------
291 testcase tiEditPasteSpecial_HTML
292     
293     dim Zaehler as integer
294     Kontext "Standardbar"
295     sleep 1
296     Call hFileOpen ConvertPath (gTesttoolPath + "graphics\required\input\frame1.htm")   '/// Load html document ///'
297     sleep 5
298     autoexecute=false
299     Kontext "DocumentWriter"
300     DocumentWriter.MouseDown 10,10
301     DocumentWriter.MouseUp 10,10
302     autoexecute=true
303     EditSelectAll
304     sleep 3
305     EditCopy                                                                    '/// Copy selection ///'
306     Sleep 2
307     FileClose                                                                   '/// Close document ///'
308     sleep 3
309     Call hNewDocument                                                           '/// Create new Impress document ///'
310     sleep 1
311     EditPasteSpecial                                                            '/// Edit paste special ///'
312     sleep 1
313     Kontext "InhaltEinfuegen"
314     For Zaehler = 1 to Auswahl.GetItemCount
315        Auswahl.select Zaehler
316        printlog Zaehler, ". Selection = ", Auswahl.GetSelText
317     next Zaehler
318     
319     if Auswahl.GetItemCount <> 4 then                                           '/// Controlling number of possible formats ///'
320       warnlog "formats for inserting Html <> 4"
321     else
322       printlog "OK   4 formats for HTML-Document"
323     end if
324     
325     sleep 3
326     InhaltEinfuegen.OK                                                          '/// Paste clipboard content ///'
327     sleep 3
328     try
329      EditCopy                                                                   '/// Copy object back into clipboard ///'
330     catch
331      Warnlog "-  Nothing inserted into document"
332     endcatch
333     sleep 3
334     Call hCloseDocument                                                                 '/// Close document ///'
335     sleep 3
336 endcase
338 '-------------------------------------------------------------------------------
339 testcase tdEditPasteSpecial_Text
340     
341     printlog "Insert Text"
342     call hNewDocument                 '/// new document  ///'
343     SetClipboard "I am a cool test-text in the Clipboard"  '/// put text into clipboard ///'
344     EditPasteSpecial                  '/// edit paste special ///'
345     sleep 1
346     Kontext "InhaltEinfuegen"
347     Auswahl.Select 1                  '/// select list entree 1 ///'
348     printlog "Selection = ", Auswahl.GetSelText
349     sleep 1
350     if Auswahl.GetItemCount <> 1 then
351       warnlog "Selectionformat <> 1"
352     else
353       printlog "Format Text OK"
354     end if
355     InhaltEinfuegen.OK                '/// close dialog ///'
356     sleep 1
357     
358     Call hCloseDocument                   '/// close document ///'
359 endcase
361 '-------------------------------------------------------------------------------
362 testcase tdEditPasteSpecial_Graphic
363     
364     dim Zaehler as integer
365     
366     call hNewDocument                  '/// ^new document  ///'
367     printlog "Insert graphic file"
368     InsertGraphicsFromFile               '/// insert graphic (sample.bmp)///'
369     
370     Kontext "GrafikEinfuegenDlg"
371       Dateiname.SetText ConvertPath (gTesttoolPath + "global\input\graf_inp\enter.bmp")
372       Oeffnen.Click
373     sleep 1
374     EditSelectAll                     '/// select graphic ///'
375     EditCut                     '/// cut graphic ///'
376     EditPasteSpecial                  '/// edit paste special ///'
377     sleep 1
378     Kontext "InhaltEinfuegen"
379     For Zaehler = 1 to Auswahl.GetItemCount         '/// get item count for Auswahl ///'
380     Auswahl.select Zaehler
381     printlog Zaehler, ". Selection = ", Auswahl.GetSelText
382     next Zaehler
383     
384     if Auswahl.GetItemCount <> 4 then            '/// check if item count = 4 ///'
385       warnlog "Format for insert graphic files should be 4, but is: " + Auswahl.GetItemCount
386     else
387       printlog "There are " + Auswahl.GetItemCount + " formats for graphic files"
388     end if
389     InhaltEinfuegen.OK                '/// insert graphic from clipboard ///'
390     gMouseClick 90,90
391     sleep 1
392     Call hCloseDocument                   '/// close document  ///'
393 endcase
395 '-------------------------------------------------------------------------------
396 testcase tdEditPasteSpecial_Circle
398    dim Zaehler as integer
399  call hNewDocument                  '/// new document  ///'
400   sleep 5
401   printlog "Insert circle"                '/// create circle ///'
402   Kontext "Toolbar"
403   Ellipsen.Click
404   sleep 3
405   gMouseMove (20,20,80,80)
406   sleep 1
407   hTypeKeys "<escape>"
408   sleep 2
409   EditSelectAll               '/// select circle ///'
410   sleep 5
411   EditCut                     '/// cut circle ///'
412   sleep 1
413   EditPasteSpecial                  '/// edit paste special ///'
414   sleep 1
415   Kontext "InhaltEinfuegen"
416   if EinfuegenAls.IsVisible Then EinfuegenAls.Check      '/// check "EinfuegenAls" ///'
417    For Zaehler = 1 to Auswahl.GetItemCount         '/// get item count for Auswahl ///'
418        Auswahl.select Zaehler
419        printlog Zaehler, ". Selection = ", Auswahl.GetSelText
420    next Zaehler
421    if Auswahl.GetItemCount <> 4 then            '/// check if item count = 4 ///'
422      warnlog "Number of possible formats <> 4"
423    else
424      printlog "There are 4 formats for circle"
425    end if
426   sleep 1
427   InhaltEinfuegen.OK                '/// paste circle ///'
428   sleep 1
429  Call hCloseDocument                   '/// close document  ///'
430 endcase
432 '-------------------------------------------------------------------------------
433 testcase tiEditPasteSpecial
435   dim i as integer
436   dim x as integer
437 '   warnlog "TODOTBO: from draw, impress, math..."
438    '/// go into writer, type a text, select all, Edit->Cut, close writer ///'
439    '/// go into application to test, insert every format you can get from Edit->Paste->Special :-) ///'
440    gApplication   = "WRITER"
441    call hNewDocument
442    kontext "DocumentWriter"
443    DocumentWriter.TypeKeys "abc<shift home>"
444    editcut
445    call hCloseDocument
446    gApplication   = "IMPRESS"
447    call hNewDocument
448    sleep 1
450  Printlog " get count of possibilities: "
451    EditPasteSpecial
452    sleep 1
453    Kontext "InhaltEinfuegen"
454    x = Auswahl.GetItemCount
455    for i = 1 to x
456       printlog " - " + i + " - " + Auswahl.GetItemText (i)
457    next i
458    InhaltEinfuegen.Cancel
460  Printlog " insert every possibility"
461    for i = 1 to x
462    Printlog " - processing number: "+i
463       EditPasteSpecial
464       sleep 1
465       Kontext "InhaltEinfuegen"
466       Auswahl.Select i
467       sleep 1
468       InhaltEinfuegen.OK
469       sleep 1
470    next i
471    Call hCloseDocument  '/// close document ///'
472 endcase
474 '-------------------------------------------------------------------------------