basic/qa/cppunit/test_vba.cxx | 1 basic/qa/vba_tests/constants.vb | 57 ++++++++++++++++++++++++++++++++++++++++ basic/source/comp/parser.cxx | 2 - 3 files changed, 59 insertions(+), 1 deletion(-)
New commits: commit f99c95c80d40431050fef655ac7ed05074768567 Author: Takeshi Abe <t...@fixedpoint.jp> Date: Thu May 11 19:17:29 2017 +0900 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 b680e352546dc614f3b30bbe212e6b415a6a6bf4, then 7beeced463648fc67defea2ad48d58dd42f0ca1e. Change-Id: I9e4da4a17436949b4fea35481b8355b4321cb268 Reviewed-on: https://gerrit.libreoffice.org/37500 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Takeshi Abe <t...@fixedpoint.jp> diff --git a/basic/qa/cppunit/test_vba.cxx b/basic/qa/cppunit/test_vba.cxx index a909fa762db5..64e4ffdc9fed 100644 --- a/basic/qa/cppunit/test_vba.cxx +++ b/basic/qa/cppunit/test_vba.cxx @@ -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 diff --git a/basic/qa/vba_tests/constants.vb b/basic/qa/vba_tests/constants.vb new file mode 100644 index 000000000000..e879ce5abce5 --- /dev/null +++ b/basic/qa/vba_tests/constants.vb @@ -0,0 +1,57 @@ +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 diff --git a/basic/source/comp/parser.cxx b/basic/source/comp/parser.cxx index 6f6880c32df8..ae4baf704488 100644 --- a/basic/source/comp/parser.cxx +++ b/basic/source/comp/parser.cxx @@ -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" ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits