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
  • core.git: basic/qa Alain Romedenne (via logerrit)
    • core.git: basic/qa Alain Romedenne (via logerrit)

Reply via email to