[Libreoffice-commits] core.git: basic/qa

LibreOfficiant (via logerrit) logerrit at kemper.freedesktop.org
Sat Dec 14 09:41:17 UTC 2019


 basic/qa/cppunit/test_vba.cxx |    1 
 basic/qa/vba_tests/enum.vb    |   87 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 88 insertions(+)

New commits:
commit 4171b99905a208de8a1a519f53b492ad24008f8e
Author:     LibreOfficiant <LibreOfficiant at sfr.fr>
AuthorDate: Thu Dec 12 18:43:43 2019 +0100
Commit:     Mike Kaganski <mike.kaganski at collabora.com>
CommitDate: Sat Dec 14 10:40:29 2019 +0100

    VBA Enum statement TestCases
    
    Change-Id: Ib8f730d22bc7de00736c9fb1bb9c1af1784eb5df
    Reviewed-on: https://gerrit.libreoffice.org/85074
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Tested-by: Mike Kaganski <mike.kaganski at collabora.com>

diff --git a/basic/qa/cppunit/test_vba.cxx b/basic/qa/cppunit/test_vba.cxx
index 7e6aa1726b50..74c9752cf1c5 100644
--- a/basic/qa/cppunit/test_vba.cxx
+++ b/basic/qa/cppunit/test_vba.cxx
@@ -82,6 +82,7 @@ void VBATest::testMiscVBAFunctions()
         "datediff.vb",
         "datepart.vb",
         "day.vb",
+        "enum.vb",
         "error.vb",
         "exp.vb",
         "fix.vb",
diff --git a/basic/qa/vba_tests/enum.vb b/basic/qa/vba_tests/enum.vb
new file mode 100644
index 000000000000..52dc95a7c9c0
--- /dev/null
+++ b/basic/qa/vba_tests/enum.vb
@@ -0,0 +1,87 @@
+'
+' This file is part of the LibreOffice project.
+'
+' This Source Code Form is subject to the terms of the Mozilla Public
+' License, v. 2.0. If a copy of the MPL was not distributed with this
+' file, You can obtain one at http://mozilla.org/MPL/2.0/.
+'
+
+Option VBASupport 1
+Option Explicit
+Dim passCount As Integer
+Dim failCount As Integer
+Dim result As String
+
+Enum CountDown ' Values get ROUNDED to Int32
+    FIVE = 4.11
+    FOUR = -4.25
+    THREE = 5
+    TWO = -.315E1
+    ONE = 286.0E-2 ' equals 3
+    LIFT_OFF = 7
+End Enum ' CountDown
+
+Function doUnitTest()
+    ''' test_vba.cxx main entry point '''
+    Call ENUM_TestCases
+    If failCount <> 0 Or passCount = 0 Then
+        doUnitTest = result
+    Else
+        doUnitTest = "OK"
+    End If
+End Function
+
+
+Sub ENUM_TestCases()
+
+    passCount = 0
+    failCount = 0
+
+    result = "Test Results" & vbNewLine & "============" & vbNewLine
+
+try:
+    On Error Goto catch
+
+    With CountDown
+
+a:      TestLog_ASSERT .ONE = 3, "case a", "CountDown.ONE equals " & Str(.ONE)
+
+b:      TestLog_ASSERT .TWO = -3, "case b", "CountDown.TWO equals " & Str(.TWO)
+
+c:      TestLog_ASSERT TypeName(.FOUR) = "Long", "case c", "CountDown.FOUR type is: " & TypeName(.FOUR)
+
+d:      Dim sum As Double
+        sum = .FIVE + .FOUR + .THREE + .TWO + .ONE + .LIFT_OFF
+        TestLog_Assert sum = 12, "case d", "SUM of CountDown values is: " & Str(sum)
+
+    End With ' CountDown
+
+finally:
+    result = result & vbNewLine & "Tests passed: " & passCount & vbNewLine & "Tests failed: " & failCount & vbNewLine
+    Exit Sub
+
+catch:
+    TestLog_ASSERT (False), "ERROR", "#"& Str(Err.Number) &" in 'ENUM_TestCases' at line"& Str(Erl) &" - "& Error$
+    Resume Next
+End Sub
+
+Sub TestLog_ASSERT(assertion As Boolean, Optional testId As String, Optional testComment As String)
+
+    If assertion = True Then
+        passCount = passCount + 1
+    Else
+        Dim testMsg As String
+        If Not IsMissing(testId) Then
+            testMsg = testMsg + testId + ":"
+        End If
+        If Not IsMissing(testComment) And Not (testComment = "") Then
+            testMsg = testMsg + " (" + testComment + ")"
+        End If
+
+        result = result & vbNewLine & "Failed: " & testMsg
+        failCount = failCount + 1
+    End If
+
+End Sub
+
+'Sub DEV_TEST : doUnitTest : MsgBox result : End Sub


More information about the Libreoffice-commits mailing list