diff options
Diffstat (limited to 'testautomation/chart2/tools/ch_tools_axes.inc')
-rw-r--r-- | testautomation/chart2/tools/ch_tools_axes.inc | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/testautomation/chart2/tools/ch_tools_axes.inc b/testautomation/chart2/tools/ch_tools_axes.inc new file mode 100644 index 000000000000..ef897fbc345f --- /dev/null +++ b/testautomation/chart2/tools/ch_tools_axes.inc @@ -0,0 +1,193 @@ +'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 occured. +' 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 + |