[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - sw/CppunitTest_sw_htmlexport.mk sw/qa sw/source

Marco Cecchetti mrcekets at gmail.com
Mon Oct 20 05:10:17 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 7a4d272bc2220afd365d2f324b2aaaccaa16a39e
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
    Reviewed-on: https://gerrit.libreoffice.org/12049
    Reviewed-by: Jan Holesovsky <kendy at collabora.com>
    Tested-by: Jan Holesovsky <kendy at collabora.com>

diff --git a/sw/CppunitTest_sw_htmlexport.mk b/sw/CppunitTest_sw_htmlexport.mk
index d190050..72a9fda 100644
--- a/sw/CppunitTest_sw_htmlexport.mk
+++ b/sw/CppunitTest_sw_htmlexport.mk
@@ -55,6 +55,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 94fb667..9e666a8 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -164,6 +164,26 @@ DECLARE_HTMLEXPORT_TEST(testSkipImageEmbeddedDocument, "skipimage-embedded-docum
 
 #endif
 
+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 91eec2d..7b226e9 100644
--- a/sw/source/filter/html/htmlforw.cxx
+++ b/sw/source/filter/html/htmlforw.cxx
@@ -760,6 +760,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(
@@ -987,7 +990,7 @@ Writer& OutHTML_DrawFrmFmtAsControl( Writer& rWrt,
         sOut = "\"";
     }
 
-    sOut = sOptions;
+    sOut += " " + sOptions;
 
     if( TYPE_IMAGE == eType )
     {


More information about the Libreoffice-commits mailing list