Kaydet (Commit) f99c95c8 authored tarafından Takeshi Abe's avatar Takeshi Abe

basic: Fix VBA constant vbNewLine with unit test

... making its value CRLF on Windows and LF on others.

A winding road of regressions passed through it;
first b680e352,
then 7beeced4.

Change-Id: I9e4da4a17436949b4fea35481b8355b4321cb268
Reviewed-on: https://gerrit.libreoffice.org/37500Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarTakeshi Abe <tabe@fixedpoint.jp>
üst 8c0be54a
......@@ -44,6 +44,7 @@ void VBATest::testMiscVBAFunctions()
const char* macroSource[] = {
"bytearraystring.vb",
"cdec.vb",
"constants.vb",
// datevalue test seems to depend on both locale and language
// settings, should try and rewrite the test to deal with that
// for some reason tinderboxes don't seem to complain leaving enabled
......
Option VBASupport 1
Option Explicit
Dim passCount As Integer
Dim failCount As Integer
Dim result As String
Function doUnitTest() As String
result = verify_testConstants()
If failCount <> 0 Or passCount = 0 Then
doUnitTest = result
Else
doUnitTest = "OK"
End If
End Function
Function verify_testConstants() As String
passCount = 0
failCount = 0
result = "Test Results" & Chr$(10) & "============" & Chr$(10)
Dim testName As String
testName = "Test Constants"
On Error GoTo errorHandler
If GetGuiType() = 1 Then
TestLog_ASSERT vbNewline = vbCrLf, "vbNewLine is the same as vbCrLf on Windows"
Else
TestLog_ASSERT vbNewLine = vbLf, "vbNewLine is the same as vbLf on others than Windows"
End If
result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
verify_testConstants = 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
......@@ -849,7 +849,7 @@ void SbiParser::AddConstants()
addStringConst( aPublics, "vbCrLf", "\x0D\x0A" );
addStringConst( aPublics, "vbFormFeed", "\x0C" );
addStringConst( aPublics, "vbLf", "\x0A" );
#ifndef WIN32_
#ifdef _WIN32
addStringConst( aPublics, "vbNewLine", "\x0D\x0A" );
#else
addStringConst( aPublics, "vbNewLine", "\x0A" );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment