tdf#106190 Tests of fraction formats
Improve error message if test fails
Add more formats to test
Need https://gerrit.libreoffice.org/35320/
Change-Id: I89f5071e12ff87cdf1c03912922918390531e972
Reviewed-on: https://gerrit.libreoffice.org/35377
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 8ac1dd7..99a1626 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -399,7 +399,16 @@ void Test::checkPreviewString(SvNumberFormatter& aFormatter,
Color* pColor = nullptr;
Color** ppColor = &pColor;
if (!aFormatter.GetPreviewString(sCode, fPreviewNumber, sStr, ppColor, eLang))
CPPUNIT_FAIL("GetPreviewString() failed");
{
rtl::OString aMessage = "GetPreviewString( \"";
aMessage += rtl::OUStringToOString( sCode, RTL_TEXTENCODING_ASCII_US );
aMessage += "\", ";
aMessage += rtl::OString::number( fPreviewNumber );
aMessage += ", sStr, ppColor, ";
aMessage += rtl::OString::number( eLang );
aMessage += " ) failed";
CPPUNIT_FAIL( aMessage.getStr() );
}
CPPUNIT_ASSERT_EQUAL(sExpected, sStr);
}
@@ -1204,10 +1213,39 @@ void Test::testUserDefinedNumberFormats()
sExpected = "before 1.2inside3E+0middle4 after";
checkPreviewString(aFormatter, sCode, 12345.667, eLang, sExpected);
}
{ // tdf#106190: text after fraction bar
sCode = "?/ ?";
sExpected = "11/ 9";
checkPreviewString(aFormatter, sCode, 1.2345667, eLang, sExpected);
sCode = "?/ 12";
sExpected = "15/ 12";
checkPreviewString(aFormatter, sCode, 1.2345667, eLang, sExpected);
sCode = "# ?/\" divisor \"?";
sExpected = "1 2/ divisor 9";
checkPreviewString(aFormatter, sCode, 1.2345667, eLang, sExpected);
sCode = "# ?/\"divided by \"?";
sExpected = "1 2/divided by 9";
checkPreviewString(aFormatter, sCode, 1.2345667, eLang, sExpected);
sCode = "?/\" \"12";
sExpected = "15/ 12";
checkPreviewString(aFormatter, sCode, 1.2345667, eLang, sExpected);
sCode = "?/\\ 12";
sExpected = "15/ 12";
checkPreviewString(aFormatter, sCode, 1.2345667, eLang, sExpected);
sCode = "# ?/ ???";
sExpected = "3 1/ 2 ";
checkPreviewString(aFormatter, sCode, 3.5, eLang, sExpected);
}
{ // Display 1.96 as 2 and not 1 1/1
sCode = "# ?/?";
sExpected = "2 ";
checkPreviewString(aFormatter, sCode, 1.96, eLang, sExpected);
sCode = "# ?/ ?";
sExpected = "2 ";
checkPreviewString(aFormatter, sCode, 1.96, eLang, sExpected);
sCode = "# #/#";
sExpected = "2";
checkPreviewString(aFormatter, sCode, 1.96, eLang, sExpected);
}
{ // tdf#79399 tdf#101462 Native Number Formats
sCode = "[NatNum5][$-0404]General\\ ";