Files
libreoffice/basic/qa/basic_coverage/test_If.bas
Alain Romedenne 0a9135e0d9 Basic QA new unit test for IF THEN statement
Intent is to cover:

- repeating ElseIf blocks
_ nested IF statements
- IF THEN one liner

Change-Id: Iee37707e26a563f336438ce7ba17271a7f06e6fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171285
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-01 10:04:02 +02:00

60 lines
1.2 KiB
QBasic

Option Explicit
Function doUnitTest() As String
TestUtil.TestInit
TestUtil.AssertEqual(verify_ElseIf, "OK", "verify_ElseIf", "result")
TestUtil.AssertEqual(verify_nested_Ifs, "OK", "verify_nested_Ifs", "result")
TestUtil.AssertEqual(verify_oneline, "OK", "verify_oneline", "result")
doUnitTest = TestUtil.GetResult()
End Function
Sub Main : MsgBox doUnitTest : End Sub
Function verify_ElseIf As String
On Error GoTo catch
If False Then
verify_ElseIf = "Fail"
ElseIf False Then
verify_ElseIf = "Fail"
ElseIf False Then
verify_ElseIf = "Fail"
ElseIf False Then verify_ElseIf = "Fail"
Else
verify_ElseIf = "OK"
End If
Exit Function
catch:
TestUtil.ReportErrorHandler("verify_ElseIf", Err, Error$, Erl)
End Function
Function verify_oneline As String
If False Then verify_oneline = "Fail" Else verify_oneline = "OK"
End Function
Function verify_nested_Ifs
'
On Error GoTo catch
If False Then
verify_nested_Ifs = "Fail"
ElseIf True Then
If True Then
verify_nested_Ifs = "OK"
End If
ElseIf False Then
verify_nested_Ifs = "Fail"
ElseIf False Then verify_nested_Ifs = "Fail"
Else
verify_nested_Ifs = "Fail"
EndIf
Exit Function
catch:
TestUtil.ReportErrorHandler("verify_nested_Ifs", Err, Error$, Erl)
End Function