632 lines
19 KiB
PHP
632 lines
19 KiB
PHP
'encoding UTF-8 Do not remove or change this line!
|
|
'**************************************************************************
|
|
' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
'
|
|
' Copyright 2000, 2010 Oracle and/or its affiliates.
|
|
'
|
|
' OpenOffice.org - a multi-platform office productivity suite
|
|
'
|
|
' This file is part of OpenOffice.org.
|
|
'
|
|
' OpenOffice.org is free software: you can redistribute it and/or modify
|
|
' it under the terms of the GNU Lesser General Public License version 3
|
|
' only, as published by the Free Software Foundation.
|
|
'
|
|
' OpenOffice.org is distributed in the hope that it will be useful,
|
|
' but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
' GNU Lesser General Public License version 3 for more details
|
|
' (a copy is included in the LICENSE file that accompanied this code).
|
|
'
|
|
' You should have received a copy of the GNU Lesser General Public License
|
|
' version 3 along with OpenOffice.org. If not, see
|
|
' <http://www.openoffice.org/license.html>
|
|
' for a copy of the LGPLv3 License.
|
|
'
|
|
'/************************************************************************
|
|
'*
|
|
'* owner : marc.neumann@oracle.com
|
|
'*
|
|
'* short description : test the Main Table Application Window
|
|
'*
|
|
'************************************************************************
|
|
'*
|
|
' #1 tMainMenuBar
|
|
' #1 tSearch
|
|
' #1 tSortAscending
|
|
' #1 tSortDescending
|
|
' #1 tAutoFilter
|
|
' #1 tDefaultFilter
|
|
' #1 tSortOrder
|
|
' #1 tRemoveFilter
|
|
' #1 tApplyFilter
|
|
' #1 tRefresh
|
|
' #1 tEdit
|
|
' #1 tCut
|
|
' #1 tCopy
|
|
' #1 tPaste
|
|
' #1 tUndo
|
|
' #1 tSave
|
|
'*
|
|
'\***********************************************************************************
|
|
sub Table
|
|
|
|
printlog "------------------ Table.inc ---------------------"
|
|
|
|
printlog "-------------------- main menu -------------------------"
|
|
call tMainMenuBar
|
|
|
|
printlog "--------------------- toolbar --------------------------"
|
|
call tSearch
|
|
call tSortAscending
|
|
call tSortDescending
|
|
call tAutoFilter
|
|
call tDefaultFilter
|
|
call tSortOrder
|
|
call tRemoveFilter
|
|
call tApplyFilter
|
|
call tRefresh
|
|
call tEdit
|
|
call tCut
|
|
call tCopy
|
|
call tPaste
|
|
call tUndo
|
|
call tSave
|
|
|
|
end sub
|
|
'-------------------------------------------------------------------------
|
|
testcase tSearch
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the search button
|
|
printlog "click on the search button"
|
|
Kontext "Toolbar"
|
|
RecSearch.Click
|
|
sleep(1)
|
|
'/// check if the search dialog appear
|
|
printlog "check if the search dialog appear"
|
|
Kontext "RecordSearch"
|
|
if RecordSearch.Exists(3) then
|
|
'/// close the search dialog
|
|
printlog "close the search dialog"
|
|
CloseBtn.click
|
|
sleep(2)
|
|
else
|
|
warnlog "The search dialog doesn't appear"
|
|
end if
|
|
|
|
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tSortAscending
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the search button
|
|
printlog "click on the search button"
|
|
Kontext "Toolbar"
|
|
SortAscending.Click
|
|
sleep(1)
|
|
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tSortDescending
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the search button
|
|
printlog "click on the search button"
|
|
Kontext "Toolbar"
|
|
SortDescending.Click
|
|
sleep(1)
|
|
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tAutoFilter
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the auto filter button
|
|
printlog "click on the auto filter button"
|
|
Kontext "Toolbar"
|
|
DBAutoFilter.Click
|
|
sleep(1)
|
|
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tDefaultFilter
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the DefaultFilter button
|
|
printlog "click on the DefaultFilter button"
|
|
Kontext "Toolbar"
|
|
DefaultFilter.Click
|
|
sleep(1)
|
|
'/// check if the default filter dialog appear
|
|
printlog "check if the default filter dialog appear"
|
|
Kontext "FilterDialog"
|
|
if FilterDialog.Exists(2) then
|
|
FilterDialog.Cancel
|
|
else
|
|
warnlog "The filter dialog doesn't appear"
|
|
end if
|
|
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tSortOrder
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the sort order button
|
|
printlog "click on the sort order button"
|
|
Kontext "Toolbar"
|
|
SortOrder.Click
|
|
sleep(1)
|
|
'/// check if the sort order dialog appear
|
|
printlog "check if the sort order dialog appear"
|
|
Kontext "SortOrder"
|
|
if SortOrder.Exists(2) then
|
|
SortOrder.Cancel
|
|
else
|
|
warnlog "The sort order dialog doesn't appear"
|
|
end if
|
|
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tRemoveFilter
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the remove filter button
|
|
printlog "click on the remove filter button"
|
|
Kontext "Toolbar"
|
|
DBAutoFilter.Click
|
|
sleep(1)
|
|
if RemoveFilter.isenabled then
|
|
RemoveFilter.Click
|
|
else
|
|
warnlog "The remove filter icon isn't activ"
|
|
end if
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tApplyFilter
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the applay filter button
|
|
printlog "click on the apply filter button"
|
|
Kontext "Toolbar"
|
|
DBAutoFilter.Click
|
|
sleep(1)
|
|
if ApplyFilter.isenabled then
|
|
ApplyFilter.Click
|
|
else
|
|
warnlog "The apply filter icon isn't activ"
|
|
end if
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tRefresh
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the applay filter button
|
|
printlog "click on the apply filter button"
|
|
Kontext "Toolbar"
|
|
Refresh.Click
|
|
sleep(1)
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tEdit
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// click on the applay filter button
|
|
printlog "click on the apply filter button"
|
|
Kontext "Toolbar"
|
|
DBEditDoc.Click
|
|
sleep(1)
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tSave
|
|
|
|
'/// open a new table
|
|
printlog "open a new table"
|
|
initTable
|
|
sleep(1)
|
|
'/// change a record
|
|
printlog "change a record"
|
|
Kontext "TableView"
|
|
TableView.TypeKeys "hello" , true
|
|
sleep(1)
|
|
'/// check if the save button is active
|
|
'/// but do not click on it
|
|
printlog "check if the save button is active"
|
|
printlog "but do not click on it"
|
|
Kontext "Toolbar"
|
|
if not RecSave.isEnabled then
|
|
warnlog "the save button is not enabled."
|
|
endif
|
|
sleep(1)
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tCut
|
|
|
|
'/// open a table
|
|
printlog "open a table"
|
|
initTable
|
|
sleep(1)
|
|
|
|
'/// click on the cut button
|
|
printlog "click on the cut button"
|
|
Kontext "Toolbar"
|
|
Cut.Click
|
|
sleep(1)
|
|
|
|
'/// check if the text is in the clipboard
|
|
printlog "check if the text is in the clipboard"
|
|
if getClipboard <> "GUR00" then
|
|
warnlog "The Cut button doesn't work"
|
|
end if
|
|
|
|
'/// check if the cut icon is disabled
|
|
Kontext "Toolbar"
|
|
if Cut.isEnabled then
|
|
warnlog "The CUT icon is enabled, but I have nothing selected"
|
|
endif
|
|
sleep(1)
|
|
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tCopy
|
|
|
|
'/// open a table
|
|
printlog "open a table"
|
|
initTable
|
|
sleep(1)
|
|
|
|
'/// click on the copy button
|
|
printlog "click on the copy button"
|
|
Kontext "Toolbar"
|
|
Copy.Click
|
|
sleep(1)
|
|
|
|
'/// check if the text is in the clipboard
|
|
printlog "check if the text is in the clipboard"
|
|
if getClipboard <> "GUR00" then
|
|
warnlog "The Cut button doesn't work"
|
|
end if
|
|
|
|
'/// close the table and the database
|
|
printlog "close the table and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tPaste
|
|
|
|
'/// opene new table
|
|
printlog "opene new table"
|
|
initTable
|
|
|
|
'/// set a string to the clipboard
|
|
printlog "set a string to the clipboard"
|
|
setClipboard "word"
|
|
|
|
'/// press the cursor left key
|
|
printlog "press the cursor left key"
|
|
Kontext "TableView"
|
|
TableView.TypeKeys "<LEFT>" , true
|
|
sleep(1)
|
|
'/// paste the text from the clipbaord
|
|
printlog "paste the text from the clipbaord"
|
|
Kontext "Toolbar"
|
|
Paste.Click
|
|
sleep(1)
|
|
'/// check if the text is pasted to the fieldname
|
|
printlog "check if the text is pasted to the fieldname"
|
|
Kontext "TableView"
|
|
TableView.TypeKeys "<HOME>" , true
|
|
sleep(1)
|
|
TableView.TypeKeys "<SHIFT END>" , true
|
|
sleep(1)
|
|
'/// click the copy icon
|
|
printlog "click the copy icon"
|
|
Kontext "Toolbar"
|
|
Copy.Click
|
|
sleep(1)
|
|
if getClipboard <> "wordGUR00" then
|
|
warnlog "the paste button doesn't work"
|
|
end if
|
|
'/// close the table design and the database
|
|
printlog "close the table design and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
testcase tUndo
|
|
|
|
'/// open a table
|
|
printlog "open a table"
|
|
initTable
|
|
|
|
'/// set a string to the clipboard
|
|
printlog "set a string to the clipboard"
|
|
setClipboard "word"
|
|
|
|
'/// press the cursor left key
|
|
printlog "press the cursor left key"
|
|
Kontext "TableView"
|
|
TableView.TypeKeys "<LEFT>" , true
|
|
sleep(1)
|
|
'/// paste the text from the clipbaord
|
|
printlog "paste the text from the clipbaord"
|
|
Kontext "Toolbar"
|
|
Paste.Click
|
|
sleep(1)
|
|
'/// check if the text is pasted to the fieldname
|
|
printlog "check if the text is pasted to the fieldname"
|
|
Kontext "TableView"
|
|
TableView.TypeKeys "<HOME>" , true
|
|
sleep(1)
|
|
TableView.TypeKeys "<SHIFT END>" , true
|
|
sleep(1)
|
|
'/// click the copy icon
|
|
printlog "click the copy icon"
|
|
Kontext "Toolbar"
|
|
Copy.Click
|
|
sleep(1)
|
|
if getClipboard <> "wordGUR00" then
|
|
warnlog "the paste button doesn't work"
|
|
end if
|
|
|
|
|
|
'/// click the undo icon
|
|
printlog "click the undo icon"
|
|
Kontext "Toolbar"
|
|
RecUndo.Click
|
|
sleep(1)
|
|
|
|
'/// click the copy icon
|
|
Kontext "Toolbar"
|
|
Copy.Click
|
|
sleep(1)
|
|
if getClipboard <> "GUR00" then
|
|
warnlog "the undo button doesn't work"
|
|
end if
|
|
|
|
'/// close the table design and the database
|
|
printlog "close the table design and the database"
|
|
call fCloseTableView
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
'-------------------------------------------------------------------------
|
|
testcase tMainMenuBar
|
|
|
|
dim iCount as integer ' the numbers of the items in the menu.
|
|
|
|
call initTable
|
|
|
|
Kontext "TableView"
|
|
TableView.UseMenu
|
|
|
|
'/// check if there are between 8 and 12 items in the file menu.
|
|
printlog "check if there are between 8 and 12 items in the file menu."
|
|
'/// + there different count related to the file pick list.
|
|
printlog "+ there different count related to the file pick list."
|
|
hMenuSelectNr(1) ' the file menu
|
|
iCount = getMenuItemCount()
|
|
if ( lcase( gPlatform ) = "osx" ) then
|
|
if ( iCount <> 7 ) then
|
|
warnlog( "File menu: 8 items expected, found " & iCount )
|
|
endif
|
|
else
|
|
if (iCount <> 8 ) then
|
|
warnlog "There should between 8 and 12 items in the file menu but there are " + iCount + " items."
|
|
end if
|
|
endif
|
|
|
|
'/// check if there are 12 items in the FILE/NEW menu.
|
|
printlog "check if there are 12 items in the FILE/NEW menu."
|
|
printlog "check the FILE/NEW"
|
|
hMenuSelectNr(1) ' FILE/NEW menu
|
|
iCount = hMenuItemGetCount()
|
|
if (iCount <> 12) then
|
|
warnlog "There should 12 items in the FILE/NEW menu but there are " + iCount + " items."
|
|
end if
|
|
call hMenuClose() ' close the FILE menu
|
|
|
|
'/// check the FILE/AUTOPILOTS
|
|
printlog "check the FILE/AUTOPILOTS"
|
|
TableView.UseMenu
|
|
hMenuSelectNr(1) ' the file menu
|
|
hMenuSelectNr(3) ' the autopilots menu
|
|
iCount = hMenuItemGetCount()
|
|
if (iCount <> 8) then
|
|
warnlog "There should 8 items in the FILE/AUTOPILOTS menu but there are " + iCount + " items."
|
|
endif
|
|
call hMenuClose()
|
|
|
|
'/// check if there are 8 items in the edit menu.
|
|
printlog "check if there are 8 items in the edit menu."
|
|
TableView.UseMenu
|
|
hMenuSelectNr(2)
|
|
iCount = hMenuItemGetCount()
|
|
if (iCount <> 8) then
|
|
warnlog "There should 8 items in the edit menu but there are " + iCount + " items."
|
|
end if
|
|
call hMenuClose()
|
|
|
|
'/// check if there are 2 items in the view menu.
|
|
printlog "check if there are 2 items in the view menu."
|
|
TableView.UseMenu
|
|
hMenuSelectNr(3)
|
|
iCount = hMenuItemGetCount()
|
|
if (iCount <> 2) then
|
|
warnlog "There should 2 items in the view menu but there are " + iCount + " items."
|
|
end if
|
|
call hMenuClose()
|
|
|
|
'/// check if there are 4 items in the tools menu.
|
|
printlog "check if there are 4 items in the tools menu."
|
|
TableView.UseMenu
|
|
hMenuSelectNr(5)
|
|
iCount = hMenuItemGetCount()
|
|
if ( lcase( gPlatform ) = "osx" ) then
|
|
if ( iCount <> 3 ) then
|
|
warnlog( "Tools menu: 3 items expected, found " & iCount )
|
|
endif
|
|
else
|
|
if (iCount <> 4) then
|
|
warnlog "There should 4 items in the tools menu but there are " + iCount + " items."
|
|
end if
|
|
endif
|
|
call hMenuClose()
|
|
|
|
'/// check if there are 4 items in the TOOLS/MACRO menu.
|
|
printlog "check if there are 4 items in the TOOLS/MACRO menu."
|
|
TableView.UseMenu
|
|
hMenuSelectNr(5)
|
|
hMenuSelectNr(1)
|
|
iCount = hMenuItemGetCount()
|
|
if (iCount <> 4) then
|
|
warnlog "There should 4 items in the TOOLS/MACRO menu but there are " + iCount + " items."
|
|
end if
|
|
call hMenuClose()
|
|
|
|
call fCloseTableView
|
|
|
|
call fCloseDatabase
|
|
|
|
endcase
|
|
'-------------------------------------------------------------------------
|
|
'-------------------------------------------------------------------------
|
|
'-------------------------------------------------------------------------
|
|
function getMenuItemCount as Integer
|
|
'use this function becasue this doesn't count the pick list
|
|
Dim i as Integer
|
|
Dim j as Integer
|
|
Dim Ende as Integer
|
|
Dim nID as Integer
|
|
Sleep 2
|
|
j=0
|
|
for i=1 to MenuGetItemCount
|
|
if NOT MenuIsSeperator ( i ) then
|
|
dim s as String
|
|
s = Mid(MenuGetItemText( MenuGetItemID(i)),3,1)
|
|
'printlog "s = " + s
|
|
'printlog "MenuGetItemText( MenuGetItemID(i)) = " + MenuGetItemText( MenuGetItemID(i))
|
|
if s <> ":" then
|
|
j=j+1
|
|
endif
|
|
endif
|
|
next i
|
|
getMenuItemCount = j
|
|
end function
|
|
'-------------------------------------------------------------------------
|
|
sub initTable
|
|
|
|
|
|
hFileOpen( gOfficePath & "user/database/biblio.odb" )
|
|
|
|
Kontext "DATABASE"
|
|
|
|
Database.MouseDown(50,50)
|
|
Database.MouseUp(50,50)
|
|
|
|
sleep(1)
|
|
|
|
ViewTables
|
|
|
|
Kontext "ContainerView"
|
|
TableTree.select 1
|
|
|
|
OpenTable
|
|
|
|
sleep(2)
|
|
|
|
end sub
|