[Libreoffice-commits] core.git: svl/qa

Eike Rathke erack at redhat.com
Thu Aug 6 10:12:24 PDT 2015


 svl/qa/unit/svl.cxx |   35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

New commits:
commit b02f792f23e6d5872de1f2f5abd0151a89751c43
Author: Eike Rathke <erack at redhat.com>
Date:   Thu Aug 6 19:11:20 2015 +0200

    unit test for short name ambiguity, tdf#93080
    
    Change-Id: I97f33c8db59d2fc084b5e4eb389bff3d8254d4f0

diff --git a/svl/qa/unit/svl.cxx b/svl/qa/unit/svl.cxx
index 6f46ba51..f6ee9e2 100644
--- a/svl/qa/unit/svl.cxx
+++ b/svl/qa/unit/svl.cxx
@@ -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);


More information about the Libreoffice-commits mailing list