Kaydet (Commit) b02f792f authored tarafından Eike Rathke's avatar Eike Rathke

unit test for short name ambiguity, tdf#93080

Change-Id: I97f33c8db59d2fc084b5e4eb389bff3d8254d4f0
üst c7d66949
......@@ -1048,6 +1048,41 @@ void Test::testIsNumberFormat()
CPPUNIT_ASSERT_EQUAL(aTests[i].bIsNumber, bIsNumber);
}
// Test Spanish "mar" short name ambiguity, day "martes" or month "marzo".
// Day of week names are only parsed away, not evaluated if they actually
// correspond to the date given.
struct SpanishDate
{
const char* mpInput;
bool mbNumber;
const char* mpOutput;
} aSpanishTests[] = {
{ "22/11/1999", true, "22/11/1999" },
{ "Lun 22/11/1999", true, "22/11/1999" },
{ "Mar 22/11/1999", true, "22/11/1999" },
{ "Abr 22/11/1999", false, "" }, // month name AND numeric month don't go along
{ "Lun Mar 22/11/1999", false, "" }, // month name AND numeric month don't go along
{ "Mar Mar 22/11/1999", false, "" }, // month name AND numeric month don't go along
{ "Lun Mar 22 1999", true, "22/03/1999" },
{ "Mar Mar 22 1999", true, "22/03/1999" },
{ "Mar Lun 22 1999", false, "" } // day name only at the beginning (could change?)
};
sal_uInt32 nIndex = aFormatter.GetFormatIndex( NF_DATE_SYS_DDMMYYYY, LANGUAGE_SPANISH);
for (size_t i = 0; i < SAL_N_ELEMENTS(aSpanishTests); ++i)
{
double fNumber = 0;
OUString aString = OUString::createFromAscii( aSpanishTests[i].mpInput);
bool bIsNumber = aFormatter.IsNumberFormat( aString, nIndex, fNumber);
CPPUNIT_ASSERT_EQUAL( aSpanishTests[i].mbNumber, bIsNumber);
if (aSpanishTests[i].mbNumber)
{
Color* pColor;
aFormatter.GetOutputString( fNumber, nIndex, aString, &pColor);
CPPUNIT_ASSERT_EQUAL( OUString::createFromAscii( aSpanishTests[i].mpOutput), aString);
}
}
}
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment