summaryrefslogtreecommitdiff
path: root/basic
diff options
context:
space:
mode:
authorZdeněk Crhonek <zcrhonek@gmail.com>2017-08-03 17:12:21 +0200
committerZdenek Crhonek <zcrhonek@gmail.com>2017-08-03 21:29:30 +0200
commitf060d6450702c9992948266385aea9aa06000a8a (patch)
treee0ae9dac6886f5f5170f5b3a57cc1c664b9a958c /basic
parente325a5442ab350e8eb66458aed98d38ce21aec06 (diff)
VBA tests- add functions STRING,STRREVERSE,SWITCH
Change-Id: Ibba3b5cabee31af44f0e8dda5a11f152ab0cfe01 Reviewed-on: https://gerrit.libreoffice.org/40730 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Zdenek Crhonek <zcrhonek@gmail.com>
Diffstat (limited to 'basic')
-rw-r--r--basic/qa/cppunit/test_vba.cxx3
-rw-r--r--basic/qa/vba_tests/string.vb70
-rw-r--r--basic/qa/vba_tests/strreverse.vb74
-rw-r--r--basic/qa/vba_tests/switch.vb69
4 files changed, 216 insertions, 0 deletions
diff --git a/basic/qa/cppunit/test_vba.cxx b/basic/qa/cppunit/test_vba.cxx
index e406a1dc661a..ff6e26db415c 100644
--- a/basic/qa/cppunit/test_vba.cxx
+++ b/basic/qa/cppunit/test_vba.cxx
@@ -127,6 +127,9 @@ void VBATest::testMiscVBAFunctions()
"sqr.vb",
"str.vb",
"strcomp.vb",
+ "string.vb",
+ "strreverse.vb",
+ "switch.vb",
#ifndef WIN32 // missing 64bit Currency marshalling.
"win32compat.vb", // windows compatibility hooks.
#endif
diff --git a/basic/qa/vba_tests/string.vb b/basic/qa/vba_tests/string.vb
new file mode 100644
index 000000000000..8091ddf45a6c
--- /dev/null
+++ b/basic/qa/vba_tests/string.vb
@@ -0,0 +1,70 @@
+Option VBASupport 1
+Option Explicit
+Dim passCount As Integer
+Dim failCount As Integer
+Dim result As String
+
+Function doUnitTest() As String
+result = verify_testString()
+If failCount <> 0 And passCount > 0 Then
+ doUnitTest = result
+Else
+ doUnitTest = "OK"
+End If
+End Function
+
+
+
+Function verify_testString() As String
+
+ passCount = 0
+ failCount = 0
+
+ result = "Test Results" & Chr$(10) & "============" & Chr$(10)
+
+ Dim testName As String
+ Dim TestDateTime As Date
+ Dim TestStr As String
+ Dim date1, date2
+ testName = "Test String function"
+ On Error GoTo errorHandler
+
+ date2 = "PPPPP"
+ date1 = String(5, "P")
+ TestLog_ASSERT date1 = date2, "the return String is: " & date1
+
+ date2 = "aaaaa"
+ date1 = String(5, "a")
+ TestLog_ASSERT date1 = date2, "the return String is: " & date1
+
+ date2 = ""
+ date1 = String(0, "P")
+ TestLog_ASSERT date1 = date2, "the return String is: " & date1
+
+ result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
+ verify_testString = result
+
+ Exit Function
+errorHandler:
+ TestLog_ASSERT (False), testName & ": hit error handler"
+End Function
+
+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 & Chr$(10) & " Failed: " & testMsg
+ failCount = failCount + 1
+ End If
+
+End Sub
+
diff --git a/basic/qa/vba_tests/strreverse.vb b/basic/qa/vba_tests/strreverse.vb
new file mode 100644
index 000000000000..fc03880795c2
--- /dev/null
+++ b/basic/qa/vba_tests/strreverse.vb
@@ -0,0 +1,74 @@
+Option VBASupport 1
+Option Explicit
+Dim passCount As Integer
+Dim failCount As Integer
+Dim result As String
+
+Function doUnitTest() As String
+result = verify_testStrReverse()
+If failCount <> 0 And passCount > 0 Then
+ doUnitTest = result
+Else
+ doUnitTest = "OK"
+End If
+End Function
+
+
+
+Function verify_testStrReverse() As String
+
+ passCount = 0
+ failCount = 0
+
+ result = "Test Results" & Chr$(10) & "============" & Chr$(10)
+
+ Dim testName As String
+ Dim TestDateTime As Date
+ Dim TestStr As String
+ Dim date1, date2
+ testName = "Test StrReverse function"
+ On Error GoTo errorHandler
+
+ date2 = "dcba"
+ date1 = StrReverse("abcd")
+ TestLog_ASSERT date1 = date2, "the return StrReverse is: " & date1
+
+ date2 = "BABABA"
+ date1 = StrReverse("ABABAB")
+ TestLog_ASSERT date1 = date2, "the return StrReverse is: " & date1
+
+ date2 = "654321"
+ date1 = StrReverse("123456")
+ TestLog_ASSERT date1 = date2, "the return StrReverse is: " & date1
+
+ date2 = "6"
+ date1 = StrReverse(6)
+ TestLog_ASSERT date1 = date2, "the return StrReverse is: " & date1
+
+ result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
+ verify_testStrReverse = result
+
+ Exit Function
+errorHandler:
+ TestLog_ASSERT (False), testName & ": hit error handler"
+End Function
+
+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 & Chr$(10) & " Failed: " & testMsg
+ failCount = failCount + 1
+ End If
+
+End Sub
+
diff --git a/basic/qa/vba_tests/switch.vb b/basic/qa/vba_tests/switch.vb
new file mode 100644
index 000000000000..89e55d8b60ed
--- /dev/null
+++ b/basic/qa/vba_tests/switch.vb
@@ -0,0 +1,69 @@
+Option VBASupport 1
+Option Explicit
+Dim passCount As Integer
+Dim failCount As Integer
+Dim result As String
+
+Function doUnitTest() As String
+result = verify_testSwitch()
+If failCount <> 0 And passCount > 0 Then
+ doUnitTest = result
+Else
+ doUnitTest = "OK"
+End If
+End Function
+
+
+
+Function verify_testSwitch() As String
+
+ passCount = 0
+ failCount = 0
+
+ result = "Test Results" & Chr$(10) & "============" & Chr$(10)
+
+ Dim testName As String
+ Dim TestDateTime As Date
+ Dim TestStr As String
+ Dim date1, date2
+ testName = "Test Switch function"
+ On Error GoTo errorHandler
+
+ date2 = "French"
+ date1 = MatchUp("Paris")
+ TestLog_ASSERT date1 = date2, "the return Switch is: " & date1
+
+ result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
+ verify_testSwitch = result
+
+ Exit Function
+errorHandler:
+ TestLog_ASSERT (False), testName & ": hit error handler"
+End Function
+
+Function MatchUp(CityName As String)
+ MatchUp = Switch(CityName = "London", "English", CityName _
+ = "Rome", "Italian", CityName = "Paris", "French")
+End Function
+
+
+
+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 & Chr$(10) & " Failed: " & testMsg
+ failCount = failCount + 1
+ End If
+
+End Sub
+