diff options
Diffstat (limited to 'basic')
-rw-r--r-- | basic/qa/cppunit/test_vba.cxx | 1 | ||||
-rw-r--r-- | basic/qa/vba_tests/constants.vb | 57 | ||||
-rw-r--r-- | basic/source/comp/parser.cxx | 2 |
3 files changed, 59 insertions, 1 deletions
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" ); |