Control Flow Tests¶
Functionality Tested¶
The tests should cover the following:
- "inner blocks" (not
FOR
blocks/FOR
loops,EDITING
or triggers which can be handled in the database or UI tasks)DO
REPEAT
- "top-level" blocks
- internal procedures
- external procedures
- user-defined functions
- OO methods
- constructors
- destructors
- property getters, explicit or implicit (including fixed and indeterminate extent).
- property setters, explicit or implicit (including fixed and indeterminate extent).
PUBLISH
,SUBSCRIBE
andUNSUBSCRIBE
- this-procedure/source/target-procedure handles
- there are (extensive) tests in the
testcases/uast/super_procs
, related to super procedures - these can be adjusted to be included in CI/CD - this is included here as these handles are related to the control flow
- there are (extensive) tests in the
- function calls (IN SUPER, IN handle, FORWARD)
- procedure calls (IN SUPER)
RUN
- includes persistent and non-persistent casesDYNAMIC-FUNCTION()
SUPER()
functionSUPER
statement (procedure)SUPER
class reference for method invocationTHIS-OBJECT
class reference for method invocationRUN SUPER
IF
statementCASE
- including strings.RETURN
- includingRETURN ERROR
andRETURN-VALUE
LEAVE
NEXT
UNDO
PAUSE
STOP
QUIT
CALL
handle-based resource and usage- block options (
ON
phrases,TO
andWHILE
clauses,TRANSACTION
,STOP-AFTER
; the frame phrase and DB stuff should be ignored here) - block properties
- transactions/sub-transactions
UNDO
- retry
NO-ERROR
- conditions
- structured error handling (try/catch/finally, OO exceptions,
BLOCK-LEVEL
,ROUTINE-LEVEL
, interaction with legacy conditions); nested catch statements (a block with 'catch' statement from within the 'catch' or 'finally' block) PROPATH()
function andPROPATH
statement
Current Status¶
Implementation Details¶
Instructions to Run the Tests¶
Limitations or Known Issues¶
© 2004-2024 Golden Code Development Corporation. ALL RIGHTS RESERVED.