office-gobmx/testautomation/chart2/tools/ch_tools_axes.inc
2010-12-05 19:13:22 +00:00

193 lines
6.7 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 : oliver.craemer@oracle.com
'*
'* short description : Library for automation of the 'Insert::Axes...' dialog
'*
'**************************************************************************************************
'*
' #1 fInvokeAxesDialog
' #1 fCloseAxesDialogOK
' #1 fSetAxis
'*
'\************************************************************************************************
' Return codes (for all functions):
' Error 0: Success.
' Error 1: The basic action beeing applied caused a serious problem, e.g. a crash.
' Error 2 to 9: A functional problem occurred.
' Error 11 to 19: Wrong marginal conditions end up in Failure, e.g. control not visible.
' Note: Following errors can be used for negative testing.
' Error 42: Wrong input. Probably only of interest during test development.
' Error 99: Unexpected behaviour - Shouldn't normally occur.
' Attention:
' Only error 42 and error 99 throw 'warnlogs'.
' All other errors are silent.
' They only throw QAErrorlogs the give a hint what probably went wrong.
' Expected Errors <b>must</b> exclusivly be handled by the calling routine.
'
'--------------------------------------------------------------------
'
function fInvokeAxesDialog() as INTEGER
fInvokeAxesDialog = 99
' Function to invoke the 'Insert::Axes...' dialog
' No Input
' Returns error-code:
' 0 := Sucess
' 1 := Serious problem trying to invoke the dialog
' 2 := Failure (Dialog not present after invocation)
'99 := Unexpected error
printlog "** Invoking 'Insert::Axes...' in menu"
'/// Execute menu item 'Insert::Axes...'
try
InsertAxes
catch
qaErrorLog "Error 1: Invoking menu item 'Insert::Axes...' failed"
fInvokeAxesDialog = 1
exit function
endcatch
'/// Lookup if call was successful
Kontext "InsertAxesDialog"
if InsertAxesDialog.exists(2) then
printlog ">> Axes dialog is visible now."
fInvokeAxesDialog = 0
else
qaErrorLog "Error 2: OOPS, calling the slot 'InsertAxes' didn't cause any problem ..."
qaErrorLog "..., BUT the dialog doesn't seem to be visible"
fInvokeAxesDialog = 2
endif
if fInvokeAxesDialog = 99 then
warnlog "Error 99: Something unexpected happened!!"
endif
end function
'
'--------------------------------------------------------------------
'
function fCloseAxesDialogOK() as INTEGER
fCloseAxesDialogOK = 99
' Function to close the Axes dialog using OK button
' No Input
' Returns error-code:
' 0 := Sucess
' 1 := Serious problem trying to Close the dialog
' 2 := Failure (Dialog present after applying OK button)
'15 := Dialog not present before closing
'99 := Unexpected error
printlog "** Closing Axes dialog"
Kontext "InsertAxesDialog"
'/// Check existence of Axes dialog
if InsertAxesDialog.exists(2) then
printlog ">> Axes dialog is visible as expected."
else
' Return Error 15 and quit if dialog not found
qaErrorLog "Error 15: OOPS, Axes dialog should be visible ..."
qaErrorLog "... this is a BUG or a scripting error -> Check this out!"
fCloseAxesDialogOK = 15
exit function
endif
'/// Click OK button in Axes dialog
try
InsertAxesDialog.OK
catch
qaErrorLog "Error 1: Closing the Axes dialog seems to have a serious problem -> Check this out!"
fCloseAxesDialogOK = 1
exit function
endcatch
'/// Check that Axes dialog is not visible anymore
Kontext "InsertAxesDialog"
if InsertAxesDialog.exists(2) then
' Return Error 2 if still present
qaErrorLog "Error 2: Axes dialog should be invisible now ..."
qaErrorLog "... closing the dialog doesn't seem to work -> Check this out!"
fCloseAxesDialogOK = 2
else
printlog ">> Closing the Axes dialog seems to work as expected"
fCloseAxesDialogOK = 0
endif
if fCloseAxesDialogOK = 99 then
warnlog "Error 99: Something unexpected happened!!"
endif
end function
'
'--------------------------------------------------------------------
'
function fSetAxis ( oAxis as OBJECT , bAxisCheck as BOOLEAN ) as INTEGER
fSetAxis = 99
' Function to check-boxes in Axes dialog
' Input:
' OBJECT oAxis
' Axis Indicator (Name of declaration): Major[XYZ]Axis, Secondary[XY]Axis are valid names
' BOOLEAN bAxisCheck
' TRUE := Check Axis
' FALSE := Uncheck Axis
' Returns error-code:
' 0 := Sucess
' 1 := Serious problem trying to check axis
' 2 := Axis was not set
'12 := Check-box for desired axis is not enabled
'99 := Unexpected error
printlog "** Setting axis"
'/// Check if desired axis check-box is enabled
if NOT oAxis.IsEnabled then
qaErrorLog "Error 12: Check-box for desired axis is not enabled"
qaErrorLog "... BUG or Script problem -> Check this out!"
fSetAxis = 12
exit function
endif
'/// Try to (Un)Check desired axis
Kontext "InsertAxesDialog"
try
if bAxisCheck then
oAxis.Check
else
oAxis.UnCheck
endif
catch
' Throw error 1 and quit on serious problem
qaErrorLog "Error 1: Check axis seems to cause a serious problem -> Check this out!"
fSetAxis = 1
exit function
endcatch
'/// Verify (against input) if axis was checked
if oAxis.IsChecked = bAxisCheck then
fSetAxis = 0
printlog ">> Chech axis seems to work"
else
qaErrorLog "Error 2: Axis was not checked -> Check this out!"
fSetAxis = 2
endif
if fSetAxis = 99 then
warnlog "Error 99: Something unexpected happened!!"
endif
end function