summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
Diffstat (limited to 'svl')
-rw-r--r--svl/qa/unit/svl.cxx26
1 files changed, 26 insertions, 0 deletions
diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 7f4c1e875381..ece214b3eb55 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -31,6 +31,8 @@
#include <i18nlangtag/lang.h>
+#include <math.h>
+
#include <svl/zforlist.hxx>
#include <svl/zformat.hxx>
#include <svl/sharedstringpool.hxx>
@@ -60,6 +62,7 @@ public:
void testI116701();
void testDateInput();
void testIsNumberFormat();
+ void testUserDefinedNumberFormats();
CPPUNIT_TEST_SUITE(Test);
CPPUNIT_TEST(testNumberFormat);
@@ -70,6 +73,7 @@ public:
CPPUNIT_TEST(testI116701);
CPPUNIT_TEST(testDateInput);
CPPUNIT_TEST(testIsNumberFormat);
+ CPPUNIT_TEST(testUserDefinedNumberFormats);
CPPUNIT_TEST_SUITE_END();
private:
@@ -1080,6 +1084,28 @@ void Test::testIsNumberFormat()
}
}
+void Test::testUserDefinedNumberFormats()
+{
+ LanguageType eLang = LANGUAGE_ENGLISH_US;
+ OUString sCode, sExpected;
+ SvNumberFormatter aFormatter(m_xContext, eLang);
+ { // tdf#97835: suppress decimal separator
+ sCode = "0.##\" m\"";
+ sExpected = "12 m";
+ checkPreviewString(aFormatter, sCode, 12.0, eLang, sExpected);
+ }
+ { // tdf#61996: skip quoted text
+ sCode = "0.00\" ;\"";
+ sExpected = "-12.00 ;";
+ checkPreviewString(aFormatter, sCode, -12.0, eLang, sExpected);
+ }
+ { // tdf#995339: detect SSMM as second minute
+ sCode = "SS:MM:HH DD/MM/YY";
+ sExpected = "54:23:03 02/01/00";
+ checkPreviewString(aFormatter, sCode, M_PI, eLang, sExpected);
+ }
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
}