blob: 9da3a5430384f69fef9d7e6f4880e95dc63aaec3 [file] [log] [blame]
'encoding UTF-8 Do not remove or change this line!
'**************************************************************
'
' Licensed to the Apache Software Foundation (ASF) under one
' or more contributor license agreements. See the NOTICE file
' distributed with this work for additional information
' regarding copyright ownership. The ASF licenses this file
' to you under the Apache License, Version 2.0 (the
' "License"); you may not use this file except in compliance
' with the License. You may obtain a copy of the License at
'
' http://www.apache.org/licenses/LICENSE-2.0
'
' Unless required by applicable law or agreed to in writing,
' software distributed under the License is distributed on an
' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
' KIND, either express or implied. See the License for the
' specific language governing permissions and limitations
' under the License.
'
'**************************************************************
'*
'* short description : Tool library for Grids dialog
'*
'**************************************************************************************************
'*
' #1 fInvokeGridsDialog
' #1 fCloseGridsDialogOK
' #1 fSetGrid
'*
'\************************************************************************************************
' ch_tools_grids.inc - Library for automation of the 'Insert::Grids...' dialog
' This Include contains a set of functions to modify the controls of the Grids dialog.
' All functions are designed to return error-codes depending on the behaviour of the action applied.
' Return codes:
' 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: This errors can also 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 Errors 42 and 99 throw 'warnlogs'.
' All other errors are silent.
' They only throw QAErrorlogs the give a hint what probably went wrong.
' Expected Errors MUST exclusivly be handled by the calling routine.
'
'--------------------------------------------------------------------
'
function fInvokeGridsDialog() as INTEGER
fInvokeGridsDialog = 99
' Function to invoke the 'Insert / Grids...' dialog
' Returns (Error codes):
' 0 = Sucess
' 1 = Serious problem trying to invoke the dialog
' 2 = Failure (Dialog not present after invocation)
'99 = Unexpected error
printlog "Invoking 'Insert::Grids...' in menu"
'/// Execute menu item 'Insert::Grids...'
try
InsertGrids
catch
QAErrorLog "Error 1: Invoking menu item 'Insert::Grids...' failed"
fInvokeGridsDialog = 1
exit function
endcatch
'/// Lookup if call was successful
Kontext "InsertGridsDialog"
if InsertGridsDialog.exists(2) then
printlog ">> Grids dialog is visible now."
fInvokeGridsDialog = 0
else
qaErrorLog "Error 2: The slot 'InsertGrids' has been executed but the dialog is not visible"
fInvokeGridsDialog = 2
endif
if fInvokeGridsDialog = 99 then
warnlog "Error 99: Something unexpected happened!!"
endif
end function
'
'--------------------------------------------------------------------
'
function fCloseGridsDialogOK() as INTEGER
fCloseGridsDialogOK = 99
' Function to close the Grids dialog using OK button
' No Input
' Returns error-codes:
' 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 Grids dialog"
Kontext "InsertGridsDialog"
'/// Check existence of Grids dialog
if InsertGridsDialog.exists(2) then
printlog ">> Grids dialog is visible as expected."
else
'Return Error 15 and quit if dialog not found
qaErrorLog "Error 15: OOPS, Grids dialog should be visible ..."
qaErrorLog "... this is a BUG or a scripting error -> Check this out!"
fCloseGridsDialogOK = 15
exit function
endif
'/// Click OK button in Grids dialog
try
InsertGridsDialog.OK
catch
qaErrorLog "Error 1: Closing the Grids dialog seems to have a serious problem -> Check this out!"
fCloseGridsDialogOK = 1
exit function
endcatch
'/// Check that Grids dialog is not available anymore
Kontext "InsertGridsDialog"
if InsertGridsDialog.exists(2) then
'Return Error 2 if still present
qaErrorLog "Error 2: Grids dialog should be invisible now ..."
qaErrorLog "... closing the dialog doesn't seem to work -> Check this out!"
fCloseGridsDialogOK = 2
else
printlog ">> Closing the Grids dialog seems to work as expected"
fCloseGridsDialogOK = 0
endif
if fCloseGridsDialogOK = 99 then
warnlog "Error 99: Something unexpected happened!!"
endif
end function
'
'--------------------------------------------------------------------
'
function fSetGrid ( oGrid as OBJECT , bGridCheck as BOOLEAN ) as INTEGER
fSetGrid = 99
' Function to check-boxes in Grids dialog
' Input:
' OBJECT oGrid
' Grid Indicator (Name of declaration): MainGrid[XYZ]Axis, MinorGrid[XYZ]Axis< are valid name
' BOOLEAN bGridCheck
' TRUE := Check Grid
' FALSE := Uncheck Grid
' Returns error-code:
' 0 := Sucess
' 1 := Serious problem trying to check grid
' 2 := Grid was not set
'11 := Check-box for desired grid is not visible
'12 := Check-box for desired grid is not enabled
'99 := Unexpected error
printlog "** Setting Grid"
Kontext "InsertGridsDialog"
'/// Check if desired grid check-box is visible
if NOT oGrid.IsVisible then
qaErrorLog "Error 11: Check-box for desired grid is not visible"
qaErrorLog "... BUG or Script problem -> Check this out!"
fSetGrid = 11
exit function
endif
'/// Check if desired grid check-box is enabled
if NOT oGrid.IsEnabled then
qaErrorLog "Error 12: Check-box for desired grid is not enabled"
qaErrorLog "... BUG or Script problem -> Check this out!"
fSetGrid = 12
exit function
endif
'/// Try to (Un)Check desired Grid
Kontext "InsertGridsDialog"
try
if bGridCheck then
oGrid.Check
else
oGrid.UnCheck
endif
catch
' Throw error 1 and quit on serious problem
qaErrorLog "Error 1: Check grid seems to cause a serious problem -> Check this out!"
fSetGrid = 1
exit function
endcatch
'/// Verify (against input) if grid was checked
if oGrid.IsChecked = bGridCheck then
fSetGrid = 0
printlog ">> Setting grid seems to work"
else
qaErrorLog "Error 2: Grid was not checked -> Check this out!"
fSetGrid = 2
endif
if fSetGrid = 99 then
warnlog "Error 99: Something unexpected happened!!"
endif
end function