basic/qa/cppunit/test_vba.cxx | 1 basic/qa/vba_tests/if.vb | 52 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+)
New commits: commit 54b642f4b81ad3abb04b120f665b517a95288c74 Author: Alain Romedenne <[email protected]> AuthorDate: Thu Aug 1 11:27:53 2024 +0200 Commit: Mike Kaganski <[email protected]> CommitDate: Mon Aug 5 11:19:47 2024 +0200 VBA QA new unit test for IF THEN statement Intent is to cover: - EndIf / End If equivalence - repeating ElseIf blocks _ nested IF statements - IF THEN one liner Change-Id: I667f0381529afcc82fc44ae461081f7ba84b01d0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171352 Tested-by: Jenkins Reviewed-by: Mike Kaganski <[email protected]> diff --git a/basic/qa/cppunit/test_vba.cxx b/basic/qa/cppunit/test_vba.cxx index e3ed10138da4..7b0ca79ce887 100644 --- a/basic/qa/cppunit/test_vba.cxx +++ b/basic/qa/cppunit/test_vba.cxx @@ -92,6 +92,7 @@ void VBATest::testMiscVBAFunctions() "hour.vb", "formatnumber.vb", "formatpercent.vb", + "if.vb", "iif.vb", "instr.vb", "instrrev.vb", diff --git a/basic/qa/vba_tests/if.vb b/basic/qa/vba_tests/if.vb new file mode 100644 index 000000000000..387f5dbbc64e --- /dev/null +++ b/basic/qa/vba_tests/if.vb @@ -0,0 +1,52 @@ +Option VBASupport 1 +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
