When a value is convertible to number, check if the format string is for numbers of text (in SbxValue::Format). If the value is not convertible to number, handle it according to the format string in printfmtstr. Change-Id: I6e11aeffd8dd8581ebc868762944e9d6d9393514 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190348 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
46 lines
2.2 KiB
VB.net
46 lines
2.2 KiB
VB.net
'
|
|
' 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
|
|
|
|
Function doUnitTest as String
|
|
TestUtil.TestInit
|
|
verify_testFormat
|
|
doUnitTest = TestUtil.GetResult()
|
|
End Function
|
|
|
|
Sub verify_testFormat
|
|
On Error GoTo errorHandler
|
|
|
|
Dim d As Date
|
|
d = "2024-09-16 17:03:30"
|
|
TestUtil.AssertEqual(Format(d, "YYYY-MM-DD"), "2024-09-16", "Format(d, ""YYYY-MM-DD"")")
|
|
TestUtil.AssertEqual(Format("2024-09-16 05:03:30 PM", "hh-mm-ss"), "17-03-30", "Format(""2024-09-16 05:03:30 PM"", ""hh-mm-ss"")")
|
|
' A string that can be converted to number, with a text-format string
|
|
TestUtil.AssertEqual(Format("001", "foo @ bar"), "foo 001 bar", "Format(""001"", ""foo @ bar"")")
|
|
' A string that cannot be converted to number, with a text-format string
|
|
TestUtil.AssertEqual(Format("baz", "foo @ bar"), "foo baz bar", "Format(""baz"", ""foo @ bar"")")
|
|
' Legacy format strings
|
|
' leading '!': get only the first character of the source string
|
|
TestUtil.AssertEqual(Format("abc", "! @"), "a", "Format(""abc"", ""! @"")")
|
|
' leading '\': get as many characters from source string, as in format string until the next '\', padding with spaces as needed
|
|
TestUtil.AssertEqual(Format("abcdefgh", "\123\45"), "abcde", "Format(""abcdefgh"", ""\123\45"")")
|
|
TestUtil.AssertEqual(Format("abcdefgh", "\12345"), "abcdef", "Format(""abcdefgh"", ""\12345"")")
|
|
TestUtil.AssertEqual(Format("abc", "\12345\"), "abc ", "Format(""abc"", ""\12345\"")")
|
|
' leading '&': get the whole source string unmodified
|
|
TestUtil.AssertEqual(Format("abc", "& @"), "abc", "Format(""abc"", ""& @"")")
|
|
' non-leading positions
|
|
TestUtil.AssertEqual(Format("abc", "@ !"), "abc !", "Format(""abc"", ""@ !"")")
|
|
TestUtil.AssertEqual(Format("abc", "1\2345"), "abc", "Format(""abc"", ""1\2345"")")
|
|
TestUtil.AssertEqual(Format("abc", "@ &"), "abc &", "Format(""abc"", ""@ &"")")
|
|
|
|
Exit Sub
|
|
errorHandler:
|
|
TestUtil.ReportErrorHandler("verify_testFormat", Err, Error$, Erl)
|
|
End Sub
|