[Libreoffice-commits] core.git: oox/source sc/qa

PriyankaGaikwad priyanka.gaikwad at synerzip.com
Sat May 9 12:57:14 PDT 2015


 oox/source/export/drawingml.cxx          |    9 +++++++++
 sc/qa/unit/data/xlsx/underlineColor.xlsx |binary
 sc/qa/unit/subsequent_export-test.cxx    |   17 +++++++++++++++++
 3 files changed, 26 insertions(+)

New commits:
commit 24be7ef5887ec3598b3b34cb4fccff17ed6e1106
Author: PriyankaGaikwad <priyanka.gaikwad at synerzip.com>
Date:   Fri Apr 24 18:25:11 2015 +0530

    tdf#90828 FILESAVE:XLSX export of underline color for text inside textbox
    
    Problem Description:
    Unable to save .xlsx with underline color for text inside textbox.
    
    Current behavior:
    After RT text underline color was not exported
    
    Expected behaviour:
    After RT text underline color should export
    
    Added export support for <a:uFill>
    
    Change-Id: If8ffeb07f2f5e0b768689647e480792ea9c8540a
    Reviewed-on: https://gerrit.libreoffice.org/15514
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 9ede463..d2691cc 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -1362,6 +1362,15 @@ void DrawingML::WriteRunProperties( Reference< XPropertySet > rRun, bool bIsFiel
         WriteSolidFill( color );
     }
 
+    if( GETAD( CharUnderlineColor ) )
+    {
+        sal_uInt32 color = *static_cast<sal_uInt32 const *>(mAny.getValue());
+
+        mpFS->startElementNS( XML_a, XML_uFill,FSEND);
+        WriteSolidFill( color );
+        mpFS->endElementNS( XML_a, XML_uFill );
+    }
+
     if( GETA( CharFontName ) )
     {
         const char* pitch = NULL;
diff --git a/sc/qa/unit/data/xlsx/underlineColor.xlsx b/sc/qa/unit/data/xlsx/underlineColor.xlsx
new file mode 100644
index 0000000..30346ce
Binary files /dev/null and b/sc/qa/unit/data/xlsx/underlineColor.xlsx differ
diff --git a/sc/qa/unit/subsequent_export-test.cxx b/sc/qa/unit/subsequent_export-test.cxx
index 4924adc..4256253 100644
--- a/sc/qa/unit/subsequent_export-test.cxx
+++ b/sc/qa/unit/subsequent_export-test.cxx
@@ -141,6 +141,7 @@ public:
     void testFontSize();
     void testSheetCharacterKerningSpace();
     void testSheetCondensedCharacterSpace();
+    void testTextUnderlineColor();
 
     CPPUNIT_TEST_SUITE(ScExportTest);
     CPPUNIT_TEST(test);
@@ -192,6 +193,7 @@ public:
     CPPUNIT_TEST(testFontSize);
     CPPUNIT_TEST(testSheetCharacterKerningSpace);
     CPPUNIT_TEST(testSheetCondensedCharacterSpace);
+    CPPUNIT_TEST(testTextUnderlineColor);
 
     CPPUNIT_TEST_SUITE_END();
 
@@ -2595,6 +2597,21 @@ void ScExportTest::testSheetCondensedCharacterSpace()
     xDocSh->DoClose();
 }
 
+void ScExportTest::testTextUnderlineColor()
+{
+
+    ScDocShellRef xDocSh = loadDoc("underlineColor.", XLSX);
+    CPPUNIT_ASSERT(xDocSh.Is());
+
+    xmlDocPtr pDoc = XPathHelper::parseExport(&(*xDocSh), m_xSFactory, "xl/drawings/drawing1.xml", XLSX);
+    CPPUNIT_ASSERT(pDoc);
+    OUString color = getXPath(pDoc,
+            "/xdr:wsDr/xdr:twoCellAnchor/xdr:sp[1]/xdr:txBody/a:p[1]/a:r[1]/a:rPr/a:uFill/a:solidFill/a:srgbClr", "val");
+    // make sure that the underline color is RED
+    CPPUNIT_ASSERT(color.equals("ff0000"));
+}
+
+
 CPPUNIT_TEST_SUITE_REGISTRATION(ScExportTest);
 
 CPPUNIT_PLUGIN_IMPLEMENT();


More information about the Libreoffice-commits mailing list