sync master with lastest vba changes
[ooovba.git] / testautomation / dbaccess / required / includes / Table.inc
blob01519534063d6c90c57590e72694a923fd9d21cd
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: Table.inc,v $
11 '* $Revision: 1.2 $
13 '* last change: $Author: obo $ $Date: 2008-07-22 12:35:10 $
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 : marc.neumann@sun.com
36 '* short description : test the Main Table Application Window
38 '************************************************************************
40 ' #1 tMainMenuBar    
41 ' #1 tSearch            
42 ' #1 tSortAscending
43 ' #1 tSortDescending                              
44 ' #1 tAutoFilter
45 ' #1 tDefaultFilter
46 ' #1 tSortOrder
47 ' #1 tRemoveFilter
48 ' #1 tApplyFilter
49 ' #1 tRefresh
50 ' #1 tEdit
51 ' #1 tCut
52 ' #1 tCopy
53 ' #1 tPaste
54 ' #1 tUndo
55 ' #1 tSave
57 '\***********************************************************************************
58 sub Table
60     printlog "------------------ Table.inc ---------------------"
61     
62     printlog "-------------------- main menu -------------------------"
63     call tMainMenuBar
64     
65     printlog "--------------------- toolbar --------------------------"    
66     call tSearch 
67     call tSortAscending
68     call tSortDescending
69     call tAutoFilter
70     call tDefaultFilter
71     call tSortOrder
72     call tRemoveFilter
73     call tApplyFilter
74     call tRefresh
75     call tEdit
76     call tCut
77     call tCopy
78     call tPaste
79     call tUndo
80     call tSave
81      
82 end sub
83 '-------------------------------------------------------------------------
84 testcase tSearch
86     '/// open a new table
87     printlog "open a new table"
88     initTable
89     sleep(1)    
90     '/// click on the search button
91     printlog "click on the search button"
92     Kontext "Toolbar"
93         RecSearch.Click
94         sleep(1)
95     '/// check if the search dialog appear
96     printlog "check if the search dialog appear"
97     Kontext "RecordSearch"
98         if RecordSearch.Exists(3) then
99             '/// close the search dialog
100             printlog "close the search dialog"        
101             CloseBtn.click
102             sleep(2)
103         else
104             warnlog "The search dialog doesn't appear"            
105         end if
106         
107     
108     '/// close the table and the database
109     printlog "close the table and the database"    
110     call fCloseTableView
111     call fCloseDatabase
112     
113 endcase
114 '-------------------------------------------------------------------------
115 testcase tSortAscending
117     '/// open a new table
118     printlog "open a new table"
119     initTable
120     sleep(1)    
121     '/// click on the search button
122     printlog "click on the search button"
123     Kontext "Toolbar"
124         SortAscending.Click
125         sleep(1)
126         
127     '/// close the table and the database
128     printlog "close the table and the database"    
129     call fCloseTableView
130     call fCloseDatabase
131     
132 endcase
133 '-------------------------------------------------------------------------
134 testcase tSortDescending
136     '/// open a new table
137     printlog "open a new table"
138     initTable
139     sleep(1)    
140     '/// click on the search button
141     printlog "click on the search button"
142     Kontext "Toolbar"
143         SortDescending.Click
144         sleep(1)
145     
146     '/// close the table and the database
147     printlog "close the table and the database"    
148     call fCloseTableView
149     call fCloseDatabase
150     
151 endcase
152 '-------------------------------------------------------------------------
153 testcase tAutoFilter
155     '/// open a new table
156     printlog "open a new table"
157     initTable
158     sleep(1)    
159     '/// click on the auto filter button
160     printlog "click on the auto filter button"
161     Kontext "Toolbar"
162         DBAutoFilter.Click
163         sleep(1)
164         
165     '/// close the table and the database
166     printlog "close the table and the database"    
167     call fCloseTableView
168     call fCloseDatabase
169     
170 endcase
171 '-------------------------------------------------------------------------
172 testcase tDefaultFilter
174     '/// open a new table
175     printlog "open a new table"
176     initTable
177     sleep(1)    
178     '/// click on the DefaultFilter button
179     printlog "click on the DefaultFilter button"
180     Kontext "Toolbar"
181         DefaultFilter.Click
182         sleep(1)
183     '/// check if the default filter dialog appear
184     printlog "check if the default filter dialog appear"
185     Kontext "FilterDialog"
186         if FilterDialog.Exists(2) then
187             FilterDialog.Cancel    
188         else
189             warnlog "The filter dialog doesn't appear"
190         end if
191         
192     '/// close the table and the database
193     printlog "close the table and the database"    
194     call fCloseTableView
195     call fCloseDatabase
196     
197 endcase
198 '-------------------------------------------------------------------------
199 testcase tSortOrder
201     '/// open a new table
202     printlog "open a new table"
203     initTable
204     sleep(1)    
205     '/// click on the sort order button
206     printlog "click on the sort order button"
207     Kontext "Toolbar"
208         SortOrder.Click
209         sleep(1)
210     '/// check if the sort order dialog appear
211     printlog "check if the sort order dialog appear"        
212     Kontext "SortOrder"    
213         if SortOrder.Exists(2) then
214             SortOrder.Cancel    
215         else
216             warnlog "The sort order dialog doesn't appear"
217         end if
218         
219     '/// close the table and the database
220     printlog "close the table and the database"    
221     call fCloseTableView
222     call fCloseDatabase
223     
224 endcase
225 '-------------------------------------------------------------------------
226 testcase tRemoveFilter
228     '/// open a new table
229     printlog "open a new table"
230     initTable
231     sleep(1)    
232     '/// click on the remove filter button
233     printlog "click on the remove filter button"
234     Kontext "Toolbar"
235         DBAutoFilter.Click
236         sleep(1)
237         if RemoveFilter.isenabled then
238             RemoveFilter.Click
239         else
240             warnlog "The remove filter icon isn't activ"
241         end if
242     '/// close the table and the database
243     printlog "close the table and the database"    
244     call fCloseTableView
245     call fCloseDatabase
246     
247 endcase
248 '-------------------------------------------------------------------------
249 testcase tApplyFilter
251     '/// open a new table
252     printlog "open a new table"
253     initTable
254     sleep(1)    
255     '/// click on the applay filter button
256     printlog "click on the apply filter button"
257     Kontext "Toolbar"
258         DBAutoFilter.Click
259         sleep(1)
260         if ApplyFilter.isenabled then
261             ApplyFilter.Click
262         else
263             warnlog "The apply filter icon isn't activ"
264         end if
265     '/// close the table and the database
266     printlog "close the table and the database"    
267     call fCloseTableView
268     call fCloseDatabase
269     
270 endcase
271 '-------------------------------------------------------------------------
272 testcase tRefresh
274     '/// open a new table
275     printlog "open a new table"
276     initTable
277     sleep(1)    
278     '/// click on the applay filter button
279     printlog "click on the apply filter button"
280     Kontext "Toolbar"
281         Refresh.Click
282         sleep(1)        
283     '/// close the table and the database
284     printlog "close the table and the database"    
285     call fCloseTableView
286     call fCloseDatabase
287     
288 endcase
289 '-------------------------------------------------------------------------
290 testcase tEdit
292     '/// open a new table
293     printlog "open a new table"
294     initTable
295     sleep(1)    
296     '/// click on the applay filter button
297     printlog "click on the apply filter button"
298     Kontext "Toolbar"
299         DBEditDoc.Click
300         sleep(1)        
301     '/// close the table and the database
302     printlog "close the table and the database"    
303     call fCloseTableView
304     call fCloseDatabase
305     
306 endcase
307 '-------------------------------------------------------------------------
308 testcase tSave
310     '/// open a new table
311     printlog "open a new table"
312     initTable    
313     sleep(1)
314     '/// change a record
315     printlog "change a record"
316     Kontext "TableView"
317         TableView.TypeKeys "hello" , true
318     sleep(1)
319     '/// check if the save button is active
320     '/// but do not click on it
321     printlog "check if the save button is active"
322     printlog "but do not click on it"
323     Kontext "Toolbar"
324         if not RecSave.isEnabled then
325             warnlog "the save button is not enabled."
326         endif
327         sleep(1)
328     call fCloseTableView
329     call fCloseDatabase
330     
331 endcase
332 '-------------------------------------------------------------------------
333 testcase tCut
335     '/// open a table
336     printlog "open a table"
337     initTable
338     sleep(1)
339     
340     '/// click on the cut button
341     printlog "click on the cut button"
342     Kontext "Toolbar"
343         Cut.Click
344         sleep(1)
345         
346     '/// check if the text is in the clipboard
347     printlog "check if the text is in the clipboard"                
348     if getClipboard <> "GUR00" then
349         warnlog "The Cut button doesn't work"
350     end if        
352     '/// check if the cut icon is disabled
353     Kontext "Toolbar"
354         if Cut.isEnabled then
355             warnlog "The CUT icon is enabled, but I have nothing selected"
356         endif
357         sleep(1)
358         
359     '/// close the table and the database
360     printlog "close the table and the database"
361     call fCloseTableView
362     call fCloseDatabase   
363         
364 endcase
365 '-------------------------------------------------------------------------
366 testcase tCopy
367     
368     '/// open a table
369     printlog "open a table"
370     initTable
371     sleep(1)
372     
373     '/// click on the copy button
374     printlog "click on the copy button"
375     Kontext "Toolbar"
376         Copy.Click
377         sleep(1)
378         
379     '/// check if the text is in the clipboard
380     printlog "check if the text is in the clipboard"                
381     if getClipboard <> "GUR00" then
382         warnlog "The Cut button doesn't work"
383     end if        
384     
385     '/// close the table and the database
386     printlog "close the table and the database"
387     call fCloseTableView
388     call fCloseDatabase   
389        
390         
391 endcase
392 '-------------------------------------------------------------------------
393 testcase tPaste
395     '/// opene new table
396     printlog "opene new table"    
397     initTable
399     '/// set a string to the clipboard
400     printlog "set a string to the clipboard"
401     setClipboard "word"
402     
403     '/// press the cursor left key
404     printlog "press the cursor left key"
405     Kontext "TableView"
406         TableView.TypeKeys "<LEFT>" , true
407         sleep(1)
408     '/// paste the text from the clipbaord
409     printlog "paste the text from the clipbaord"
410     Kontext "Toolbar"
411         Paste.Click
412         sleep(1)
413     '/// check if the text is pasted to the fieldname
414     printlog "check if the text is pasted to the fieldname"    
415     Kontext "TableView"
416         TableView.TypeKeys "<HOME>" , true
417         sleep(1)
418         TableView.TypeKeys "<SHIFT END>" , true
419         sleep(1)
420     '/// click the copy icon
421     printlog "click the copy icon"
422     Kontext "Toolbar"
423         Copy.Click
424         sleep(1)        
425         if getClipboard <> "wordGUR00" then
426             warnlog "the paste button doesn't work"
427         end if
428     '/// close the table design and the database
429     printlog "close the table design and the database"    
430     call fCloseTableView
431     call fCloseDatabase     
432     
433 endcase
434 '-------------------------------------------------------------------------
435 testcase tUndo
437     '/// open a table
438     printlog "open a table"
439     initTable
440     
441     '/// set a string to the clipboard
442     printlog "set a string to the clipboard"
443     setClipboard "word"
444           
445     '/// press the cursor left key
446     printlog "press the cursor left key"
447     Kontext "TableView"
448         TableView.TypeKeys "<LEFT>" , true
449         sleep(1)
450     '/// paste the text from the clipbaord
451     printlog "paste the text from the clipbaord"
452     Kontext "Toolbar"
453         Paste.Click
454         sleep(1)
455     '/// check if the text is pasted to the fieldname
456     printlog "check if the text is pasted to the fieldname"    
457     Kontext "TableView"
458         TableView.TypeKeys "<HOME>" , true
459         sleep(1)
460         TableView.TypeKeys "<SHIFT END>" , true
461         sleep(1)
462     '/// click the copy icon
463     printlog "click the copy icon"
464     Kontext "Toolbar"
465         Copy.Click
466         sleep(1)        
467         if getClipboard <> "wordGUR00" then
468             warnlog "the paste button doesn't work"
469         end if
470     
471     
472     '/// click the undo icon
473     printlog "click the undo icon"
474     Kontext "Toolbar"
475         RecUndo.Click
476         sleep(1)
477     
478     '/// click the copy icon
479     Kontext "Toolbar"
480         Copy.Click
481         sleep(1)        
482         if getClipboard <> "GUR00" then
483             warnlog "the undo button doesn't work"
484         end if
485     
486     '/// close the table design and the database
487     printlog "close the table design and the database"    
488     call fCloseTableView
489     call fCloseDatabase   
490     
491 endcase
492 '-------------------------------------------------------------------------
493 '-------------------------------------------------------------------------
494 testcase tMainMenuBar
496     dim iCount as integer ' the numbers of the items in the menu.    
497     
498     call initTable
499     
500     Kontext "TableView"
501         TableView.UseMenu
502            
503         '/// check if there are between 8 and 12 items in the file menu.
504         printlog "check if there are between 8 and 12 items in the file menu."
505         '/// + there different count related to the file pick list.                
506         printlog "+ there different count related to the file pick list."        
507         hMenuSelectNr(1) ' the file menu        
508         iCount = getMenuItemCount()        
509         if ( lcase( gPlatform ) = "osx" ) then
510             if ( iCount <> 7 ) then
511                 warnlog( "File menu: 8 items expected, found " & iCount ) 
512             endif
513         else
514             if (iCount <> 8 ) then
515                warnlog "There should between 8 and 12 items in the file menu but there are " + iCount + " items."
516             end if
517         endif
518         
519         '/// check if there are 12 items in the FILE/NEW menu.
520         printlog "check if there are 12 items in the FILE/NEW menu."
521         printlog "check the FILE/NEW"
522         hMenuSelectNr(1) ' FILE/NEW menu        
523         iCount = hMenuItemGetCount()        
524         if (iCount <> 12) then
525             warnlog "There should 12 items in the FILE/NEW menu but there are " + iCount + " items."
526         end if        
527         call hMenuClose() ' close the FILE menu
528         
529         '/// check the FILE/AUTOPILOTS
530         printlog "check the FILE/AUTOPILOTS"
531         TableView.UseMenu        
532         hMenuSelectNr(1) ' the file menu
533         hMenuSelectNr(3) ' the autopilots menu        
534         iCount = hMenuItemGetCount()
535         if (iCount <> 8) then
536             warnlog "There should 8 items in the FILE/AUTOPILOTS menu but there are " + iCount + " items."
537         endif
538         call hMenuClose()
539         
540         '/// check if there are 8 items in the edit menu.
541         printlog "check if there are 8 items in the edit menu."
542         TableView.UseMenu 
543         hMenuSelectNr(2)        
544         iCount = hMenuItemGetCount()
545         if (iCount <> 8) then
546             warnlog "There should 8 items in the edit menu but there are " + iCount + " items."
547         end if
548         call hMenuClose()
549         
550         '/// check if there are 2 items in the view menu.
551         printlog "check if there are 2 items in the view menu."
552         TableView.UseMenu 
553         hMenuSelectNr(3)        
554         iCount = hMenuItemGetCount()
555         if (iCount <> 2) then
556             warnlog "There should 2 items in the view menu but there are " + iCount + " items."
557         end if
558         call hMenuClose()
560         '/// check if there are 4 items in the tools menu.
561         printlog "check if there are 4 items in the tools menu."        
562         TableView.UseMenu 
563         hMenuSelectNr(5)        
564         iCount = hMenuItemGetCount()
565         if ( lcase( gPlatform ) = "osx" ) then
566             if ( iCount <> 3 ) then
567                 warnlog( "Tools menu: 3 items expected, found " & iCount )
568             endif
569         else
570             if (iCount <> 4) then
571                 warnlog "There should 4 items in the tools menu but there are " + iCount + " items."
572             end if
573         endif
574         call hMenuClose()
575         
576         '/// check if there are 4 items in the TOOLS/MACRO menu.
577         printlog "check if there are 4 items in the TOOLS/MACRO menu."        
578         TableView.UseMenu 
579         hMenuSelectNr(5)
580         hMenuSelectNr(1)        
581         iCount = hMenuItemGetCount()
582         if (iCount <> 4) then
583             warnlog "There should 4 items in the TOOLS/MACRO menu but there are " + iCount + " items."
584         end if
585         call hMenuClose()
586         
587         call fCloseTableView
588         
589         call fCloseDatabase
590         
591 endcase
592 '-------------------------------------------------------------------------
593 '-------------------------------------------------------------------------
594 '-------------------------------------------------------------------------
595 function getMenuItemCount as Integer
596 'use this function becasue this doesn't count the pick list
597     Dim i, j, Ende, nID as Integer
598     Sleep 2
599     j=0
600     for i=1 to MenuGetItemCount
601         if NOT MenuIsSeperator ( i ) then            
602             dim s as String 
603             s = Mid(MenuGetItemText( MenuGetItemID(i)),3,1)
604             'printlog "s = " + s
605             'printlog "MenuGetItemText( MenuGetItemID(i)) = " + MenuGetItemText( MenuGetItemID(i))
606             if s <> ":" then             
607                 j=j+1
608             endif
609         endif
610     next i
611     getMenuItemCount = j
612 end function
613 '-------------------------------------------------------------------------
614 sub initTable
616     
617     hFileOpen( gOfficePath & "user/database/biblio.odb" )    
618     
619     Kontext "Insight"
620     
621     Insight.MouseDown(50,50)
622     Insight.MouseUp(50,50)
623     
624     sleep(1)
625     
626     ViewTables
627     
628     Kontext "ContainerView"
629     TableTree.select 1
630     
631     OpenTable
632     
633     sleep(2)
634     
635 end sub