blob: d7d7b0875d3293d92332b9bdfb62876729b38f6f [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 Titles dialog
'*
'**************************************************************************************************
'*
' #1 fInvokeTitlesDialog
' #1 fCloseTitlesDialogOK
' #1 fSetTitle
'*
'\************************************************************************************************
' ch_tools_titles.inc - A library for automation of the 'Insert::Titles...' dialog
' This Include contains a set of functions to modify the controls of the Titles 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 fInvokeTitlesDialog() as INTEGER
fInvokeTitlesDialog = 99
' Function to invoke the 'Insert::Titles...' dialog
' Return (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::Titles...' in menu"
'/// Execute menu item 'Insert::Titles...'
try
InsertTitle
catch
qaErrorLog "Error 1: Invoking menu item 'Insert::Titles...' failed"
fInvokeTitlesDialog = 1
exit function
endcatch
'/// Lookup if call was successfull
Kontext "InsertTitleDialog"
if InsertTitleDialog.exists(2) then
printlog "Titles dialog is visible now."
fInvokeTitlesDialog = 0
else
qaErrorLog "Error 2: 'InsertTitles' has been executed but the dialog is not visible"
fInvokeTitlesDialog = 2
endif
if fInvokeTitlesDialog = 99 then
warnlog "Error 99: Something unexpected happened!!"
endif
end function
'
'--------------------------------------------------------------------
'
function fCloseTitlesDialogOK() as INTEGER
fCloseTitlesDialogOK = 99
' Function to close the Titles 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 Titles dialog"
Kontext "InsertTitleDialog"
'/// Check existence of Titles dialog
if InsertTitleDialog.exists(2) then
printlog ">> Titles dialog is visible as expected."
else
' Return Error 15 and quit if dialog not found
qaErrorLog "Error 15: OOPS, Titles dialog should be visible ..."
qaErrorLog "... this is a BUG or a scripting error -> Check this out!"
fCloseTitlesDialogOK = 15
exit function
endif
'/// Click OK button in Titles dialog
try
InsertTitleDialog.OK
catch
qaErrorLog "Error 1: Closing the Titles dialog seems to have a serious problem -> Check this out!"
fCloseTitlesDialogOK = 1
exit function
endcatch
'/// Check that Titles dialog not existing anymore
Kontext "InsertTitleDialog"
if InsertTitleDialog.exists(2) then
' Return Error 2 if still present
qaErrorLog "Error 2: Titles dialog should be invisible now ..."
qaErrorLog "... closing the dialog doesn't seem to work -> Check this out!"
fCloseTitlesDialogOK = 2
else
printlog ">> Closing the Titles dialog seems to work as expected"
fCloseTitlesDialogOK = 0
endif
if fCloseTitlesDialogOK = 99 then
warnlog "Error 99: Something unexpected happened!!"
endif
end function
'
'--------------------------------------------------------------------
'
function fSetTitle ( oTitle as OBJECT , sTitleString as STRING ) as INTEGER
fSetTitle = 99
' Function to set strings in Titles dialog
' Input: OBJECT oTitle
' Title Indicator (Name of declaration):
' MainTitle, SubTitle, TitleXaxis, TitleYaxis, TitleZaxis are valid names
' STRING sTitleString
' Text to set on 'oTitle'
' Returns error-code:
' 0 := Sucess
' 1 := Serious problem trying to set title
' 2 := Title was not set
'12 := Text-box for desired title is not enabled
'99 := Unexpected error
printlog "** Setting title"
'/// Check if desired title text-box is enabled
if NOT oTitle.IsEnabled then
qaErrorLog "Error 12: Text-box for desired title is not enabled"
qaErrorLog "... BUG or Script problem -> Check this out!"
fSetTitle = 12
exit function
endif
'/// Put the text in desired title field
Kontext "InsertTitleDialog"
try
oTitle.setText ( sTitleString )
catch
' Throw error 1 and quit on serious problem
qaErrorLog "Error 1: Set text on title seems to cause a serious problem -> Check this out!"
fSetTitle = 1
exit function
endcatch
'/// Verify (against input) if title was set correctly
if oTitle.getText = sTitleString then
fSetTitle = 0
printlog ">> Setting title seems to work"
else
qaErrorLog "Error 2: Title was not set -> Check this out!"
fSetTitle = 2
endif
if fSetTitle = 99 then
warnlog "Error 99: Something unexpected happened!!"
endif
end function