diff options
author | Andreas Heinisch <andreas.heinisch@yahoo.de> | 2022-02-07 22:02:30 +0100 |
---|---|---|
committer | Andreas Heinisch <andreas.heinisch@yahoo.de> | 2022-02-09 11:09:01 +0100 |
commit | a79e7dc9e8097c199e91288027861e3883e14d1b (patch) | |
tree | 584befede9dd5ae7a171c9cdd79b12cb87259e94 /basic | |
parent | 9d30e168112bc5c3c7f2dfc029f293c540ebb280 (diff) |
tdf#146672 - CDbl: skip spaces and tabs at the end of the scanned string
Change-Id: Ib7a4e8c7145b549a5327de23549d39d11f8590cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129648
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Diffstat (limited to 'basic')
-rw-r--r-- | basic/qa/basic_coverage/test_cdbl_method.bas | 42 | ||||
-rw-r--r-- | basic/qa/vba_tests/cdbl.vb | 5 | ||||
-rw-r--r-- | basic/source/sbx/sbxscan.cxx | 3 |
3 files changed, 35 insertions, 15 deletions
diff --git a/basic/qa/basic_coverage/test_cdbl_method.bas b/basic/qa/basic_coverage/test_cdbl_method.bas index 1c7837fcaa4b..e44c23456ff1 100644 --- a/basic/qa/basic_coverage/test_cdbl_method.bas +++ b/basic/qa/basic_coverage/test_cdbl_method.bas @@ -1,18 +1,30 @@ -' -' 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/. -' +'
+' 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 Explicit
-Option Explicit +Function doUnitTest() As String
+ TestUtil.TestInit
+ verify_testCdbl
+ doUnitTest = TestUtil.GetResult()
+End Function +
+Sub verify_testCdbl + On Error GoTo errorHandler -Function doUnitTest as String ' CDBL - If (CDbl("100") <> 100) Then - doUnitTest = "FAIL" - Else - doUnitTest = "OK" - End If -End Function + TestUtil.AssertEqual(CDbl("100"), 100, "CDbl(""100"")") + + ' tdf#146672 - skip spaces and tabs at the end of the scanned string + TestUtil.AssertEqual(CDbl("28.8 "), 28.8, "CDbl(""28.8 "")")
+ TestUtil.AssertEqual(CDbl("28.8 "), 28.8, "CDbl(""28.8 "")")
+
+ Exit Sub +errorHandler: + TestUtil.ReportErrorHandler("verify_testCdbl", Err, Error$, Erl) +End Sub diff --git a/basic/qa/vba_tests/cdbl.vb b/basic/qa/vba_tests/cdbl.vb index f29271f082d6..8a7d09cd5a2e 100644 --- a/basic/qa/vba_tests/cdbl.vb +++ b/basic/qa/vba_tests/cdbl.vb @@ -23,6 +23,11 @@ Sub verify_testCdbl() TestUtil.AssertEqual(CDbl(0.005 * 0.01), 0.00005, "CDbl(0.005 * 0.01)") TestUtil.AssertEqual(CDbl("20"), 20, "CDbl(""20"")") + + ' tdf#146672 - skip spaces and tabs at the end of the scanned string + TestUtil.AssertEqual(CDbl("28.8 "), 28.8, "CDbl(""28.8 "")") + TestUtil.AssertEqual(CDbl("28.8 "), 28.8, "CDbl(""28.8 "")") + Exit Sub errorHandler: TestUtil.ReportErrorHandler("verify_testCdbl", Err, Error$, Erl) diff --git a/basic/source/sbx/sbxscan.cxx b/basic/source/sbx/sbxscan.cxx index d8c1582af52d..108b5d56c499 100644 --- a/basic/source/sbx/sbxscan.cxx +++ b/basic/source/sbx/sbxscan.cxx @@ -250,6 +250,9 @@ ErrCode ImpScan( const OUString& rWSrc, double& nVal, SbxDataType& rType, return ERRCODE_BASIC_CONVERSION; } #endif + // tdf#146672 - skip whitespaces and tabs at the end of the scanned string + while (*p == ' ' || *p == '\t') + p++; if( pLen ) *pLen = static_cast<sal_uInt16>( p - pStart ); if( !bRes ) |