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

Michael Stahl mstahl at redhat.com
Thu Jul 10 06:35:10 PDT 2014


 sw/qa/extras/odfexport/data/fdo79358.odt |binary
 sw/qa/extras/odfexport/odfexport.cxx     |   22 ++++++++++++++++++++++
 xmloff/source/text/XMLSectionExport.cxx  |    2 +-
 3 files changed, 23 insertions(+), 1 deletion(-)

New commits:
commit d18308cf3b25ee30815bcaae73d49b5f5b8e734e
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Jul 10 14:46:31 2014 +0200

    fdo#79358: ODF export: fix index boolean property export
    
    Due to inverted conditional, only the default values were exported, not
    the non-default ones...
    
    (regression from 8a81f542a6ca566661305c53899b7e422cbaa432)
    
    Change-Id: I0b1fc828230695709db49e1643801842d947403c

diff --git a/sw/qa/extras/odfexport/data/fdo79358.odt b/sw/qa/extras/odfexport/data/fdo79358.odt
new file mode 100644
index 0000000..a1d2572
Binary files /dev/null and b/sw/qa/extras/odfexport/data/fdo79358.odt differ
diff --git a/sw/qa/extras/odfexport/odfexport.cxx b/sw/qa/extras/odfexport/odfexport.cxx
index b5010bf..dab9d5e 100644
--- a/sw/qa/extras/odfexport/odfexport.cxx
+++ b/sw/qa/extras/odfexport/odfexport.cxx
@@ -11,9 +11,11 @@
 
 #if !defined(MACOSX) && !defined(WNT)
 #include <com/sun/star/awt/Gradient.hpp>
+#include <com/sun/star/container/XIndexReplace.hpp>
 #include <com/sun/star/drawing/FillStyle.hpp>
 #include <com/sun/star/table/ShadowFormat.hpp>
 #include <com/sun/star/text/RelOrientation.hpp>
+#include <com/sun/star/text/XDocumentIndex.hpp>
 #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
 
 class Test : public SwModelTestBase
@@ -58,6 +60,26 @@ DECLARE_ODFEXPORT_TEST(testFdo38244, "fdo38244.odt")
     CPPUNIT_ASSERT_EQUAL(OUString("M"), getProperty<OUString>(xPropertySet, "Initials"));
 }
 
+DECLARE_ODFEXPORT_TEST(testFdo79358, "fdo79358.odt")
+{
+    // the boolean properties of the index were not exported properly
+    uno::Reference<text::XDocumentIndexesSupplier> xIndexSupplier(mxComponent, uno::UNO_QUERY);
+    uno::Reference<container::XIndexAccess> xIndexes(xIndexSupplier->getDocumentIndexes(), uno::UNO_QUERY);
+    uno::Reference<text::XDocumentIndex> xTOCIndex(xIndexes->getByIndex(0), uno::UNO_QUERY);
+    uno::Reference<beans::XPropertySet> xTOCProps(xTOCIndex, uno::UNO_QUERY);
+    CPPUNIT_ASSERT_EQUAL(false, getProperty<bool>(xTOCProps, "CreateFromOutline"));
+    CPPUNIT_ASSERT_EQUAL(false, getProperty<bool>(xTOCProps, "CreateFromMarks"));
+    CPPUNIT_ASSERT_EQUAL(true, getProperty<bool>(xTOCProps, "CreateFromLevelParagraphStyles"));
+    // check that the source styles are preserved too while at it
+    uno::Reference<container::XIndexReplace> xLevels(
+        getProperty< uno::Reference<container::XIndexReplace> >(xTOCProps,
+            "LevelParagraphStyles"));
+    uno::Sequence<OUString> seq(1);
+    seq[0] = "Heading";
+    CPPUNIT_ASSERT_EQUAL(uno::makeAny(seq), xLevels->getByIndex(1));
+    CPPUNIT_ASSERT_EQUAL(uno::makeAny(uno::Sequence<OUString>()), xLevels->getByIndex(2));
+}
+
 DECLARE_ODFEXPORT_TEST(testFirstHeaderFooter, "first-header-footer.odt")
 {
     // Test import and export of the header-first token.
diff --git a/xmloff/source/text/XMLSectionExport.cxx b/xmloff/source/text/XMLSectionExport.cxx
index adff8dd..fb5ee6f 100644
--- a/xmloff/source/text/XMLSectionExport.cxx
+++ b/xmloff/source/text/XMLSectionExport.cxx
@@ -1608,7 +1608,7 @@ void XMLSectionExport::ExportBoolean(
 
     // value = value ^ bInvert
     // omit if value == default
-    if ( (bTmp != bInvert) == bDefault )
+    if ( (bTmp != bInvert) != bDefault )
     {
         // export non-default value (since default is omitted)
         GetExport().AddAttribute(XML_NAMESPACE_TEXT,


More information about the Libreoffice-commits mailing list