[Libreoffice-commits] core.git: sw/CppunitTest_sw_htmlexport.mk sw/qa sw/source

Marco Cecchetti mrcekets at gmail.com
Fri Oct 3 08:07:20 PDT 2014


 sw/CppunitTest_sw_htmlexport.mk                       |    1 
 sw/qa/extras/htmlexport/data/checkbox-radiobutton.doc |binary
 sw/qa/extras/htmlexport/htmlexport.cxx                |   20 ++++++++++++++++++
 sw/source/filter/html/htmlforw.cxx                    |    5 +++-
 4 files changed, 25 insertions(+), 1 deletion(-)

New commits:
commit b2922c99f5fe1250e6a01390809736d29563fec9
Author: Marco Cecchetti <mrcekets at gmail.com>
Date:   Fri Oct 3 15:45:17 2014 +0200

    html export: Fix export of checked checkbox and radiobutton.
    
    Change-Id: Ia77f9840df7508d96292aac63e65714a7892342f

diff --git a/sw/CppunitTest_sw_htmlexport.mk b/sw/CppunitTest_sw_htmlexport.mk
index 475ce41..23cdef1 100644
--- a/sw/CppunitTest_sw_htmlexport.mk
+++ b/sw/CppunitTest_sw_htmlexport.mk
@@ -56,6 +56,7 @@ $(eval $(call gb_CppunitTest_use_components,sw_htmlexport,\
 	canvas/source/factory/canvasfactory \
     comphelper/util/comphelp \
     configmgr/source/configmgr \
+    dbaccess/util/dba \
     embeddedobj/util/embobj \
     filter/source/config/cache/filterconfig1 \
     filter/source/storagefilterdetect/storagefd \
diff --git a/sw/qa/extras/htmlexport/data/checkbox-radiobutton.doc b/sw/qa/extras/htmlexport/data/checkbox-radiobutton.doc
new file mode 100644
index 0000000..17162a4
Binary files /dev/null and b/sw/qa/extras/htmlexport/data/checkbox-radiobutton.doc differ
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx b/sw/qa/extras/htmlexport/htmlexport.cxx
index 1c479a0..2db20ef 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -200,6 +200,26 @@ DECLARE_HTMLEXPORT_TEST(testExportImageProperties, "HTMLImage.odt")
     assertXPath(pDoc, "/html/body/p/a/font/img", "usemap", "#map1");
 }
 
+DECLARE_HTMLEXPORT_TEST(testExportCheckboxRadioButtonState, "checkbox-radiobutton.doc")
+{
+    htmlDocPtr pDoc = parseHtml(maTempFile);
+    CPPUNIT_ASSERT(pDoc);
+
+    assertXPath(pDoc, "/html/body", 1);
+    assertXPath(pDoc, "/html/body/p[1]/input", "type", "checkbox");
+    assertXPath(pDoc, "/html/body/p[1]/input", "checked", "checked");
+    assertXPath(pDoc, "/html/body/p[2]/input", "type", "checkbox");
+    assertXPathNoAttribute(pDoc, "/html/body/p[2]/input", "checked");
+    assertXPath(pDoc, "/html/body/form/p[1]/input", "type", "checkbox");
+    assertXPath(pDoc, "/html/body/form/p[1]/input", "checked", "checked");
+    assertXPath(pDoc, "/html/body/form/p[2]/input", "type", "checkbox");
+    assertXPathNoAttribute(pDoc, "/html/body/form/p[2]/input", "checked");
+    assertXPath(pDoc, "/html/body/form/p[3]/input", "type", "radio");
+    assertXPath(pDoc, "/html/body/form/p[3]/input", "checked", "checked");
+    assertXPath(pDoc, "/html/body/form/p[4]/input", "type", "radio");
+    assertXPathNoAttribute(pDoc, "/html/body/form/p[4]/input", "checked");
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/html/htmlforw.cxx b/sw/source/filter/html/htmlforw.cxx
index 4fc3adf..781704f 100644
--- a/sw/source/filter/html/htmlforw.cxx
+++ b/sw/source/filter/html/htmlforw.cxx
@@ -752,6 +752,9 @@ Writer& OutHTML_DrawFrmFmtAsControl( Writer& rWrt,
             TRISTATE_FALSE != *(sal_Int16*) aTmp.getValue() )
         {
             sOptions += " " + OString(OOO_STRING_SVTOOLS_HTML_O_checked);
+            sOptions += "=\"";
+            sOptions += OString(OOO_STRING_SVTOOLS_HTML_O_checked);
+            sOptions += "\"";
         }
 
         aTmp = xPropSet->getPropertyValue( "RefValue" );
@@ -970,7 +973,7 @@ Writer& OutHTML_DrawFrmFmtAsControl( Writer& rWrt,
         sOut = "\"";
     }
 
-    sOut = sOptions;
+    sOut += " " + sOptions;
 
     if( TYPE_IMAGE == eType )
     {


More information about the Libreoffice-commits mailing list