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

Miklos Vajna vmiklos at collabora.co.uk
Mon Dec 14 07:01:33 PST 2015


 dev/null                             |binary
 sw/qa/extras/ww8export/data/tscp.doc |binary
 sw/qa/extras/ww8export/ww8export.cxx |   40 ++++++++++++++++++++++++++++++
 sw/qa/extras/ww8import/ww8import.cxx |   41 -------------------------------
 sw/source/filter/ww8/ww8scan.cxx     |   46 +++++++++++++----------------------
 5 files changed, 58 insertions(+), 69 deletions(-)

New commits:
commit d737f8220f97f3060b87c05cca3ecaf3e80f9878
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Mon Dec 14 15:43:08 2015 +0100

    DOC filter: mark SmartTag support non-experimental
    
    And also relax two import conditions, as it turns out Word accept those.
    So instead of checking for each offset/length one by one, only check
    once.
    
    It's now as good as the DOCX one, I believe.
    
    Change-Id: I1890ef61fdbbd2ab6facaf3e787f75b791adcfdc

diff --git a/sw/qa/extras/ww8import/data/tscp.doc b/sw/qa/extras/ww8export/data/tscp.doc
similarity index 100%
rename from sw/qa/extras/ww8import/data/tscp.doc
rename to sw/qa/extras/ww8export/data/tscp.doc
diff --git a/sw/qa/extras/ww8export/ww8export.cxx b/sw/qa/extras/ww8export/ww8export.cxx
index 1bb1236..de10766 100644
--- a/sw/qa/extras/ww8export/ww8export.cxx
+++ b/sw/qa/extras/ww8export/ww8export.cxx
@@ -21,6 +21,8 @@
 #include <com/sun/star/text/GraphicCrop.hpp>
 #include <com/sun/star/text/XFormField.hpp>
 #include <com/sun/star/view/DocumentZoomType.hpp>
+#include <com/sun/star/rdf/URI.hpp>
+#include <com/sun/star/rdf/Statement.hpp>
 #include <pagedesc.hxx>
 
 #include <sfx2/bindings.hxx>
@@ -98,6 +100,44 @@ DECLARE_WW8EXPORT_TEST(testN325936, "n325936.doc")
     CPPUNIT_ASSERT_EQUAL(sal_Int32(100), nValue);
 }
 
+DECLARE_WW8EXPORT_TEST(testTscp, "tscp.doc")
+{
+    uno::Reference<uno::XComponentContext> xComponentContext(comphelper::getProcessComponentContext());
+    uno::Reference<rdf::XURI> xType = rdf::URI::create(xComponentContext, "urn:tscp:names:baf:1.1");
+    uno::Reference<rdf::XDocumentMetadataAccess> xDocumentMetadataAccess(mxComponent, uno::UNO_QUERY);
+    uno::Sequence< uno::Reference<rdf::XURI> > aGraphNames = xDocumentMetadataAccess->getMetadataGraphsWithType(xType);
+    // This failed, no graphs had the urn:tscp:names:baf:1.1 type.
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), aGraphNames.getLength());
+    uno::Reference<rdf::XURI> xGraphName = aGraphNames[0];
+    uno::Reference<rdf::XNamedGraph> xGraph = xDocumentMetadataAccess->getRDFRepository()->getGraph(xGraphName);
+
+    // No RDF statement on the first paragraph.
+    uno::Reference<rdf::XResource> xParagraph(getParagraph(1), uno::UNO_QUERY);
+    uno::Reference<container::XEnumeration> xStatements = xGraph->getStatements(xParagraph, uno::Reference<rdf::XURI>(), uno::Reference<rdf::XURI>());
+    CPPUNIT_ASSERT_EQUAL(false, static_cast<bool>(xStatements->hasMoreElements()));
+
+    // 3 RDF statements on the second paragraph.
+    xParagraph.set(getParagraph(2), uno::UNO_QUERY);
+    std::map<OUString, OUString> aExpectedStatements = {
+        {"urn:tscp:names:baf:1.1#BusinessAuthorization", "urn:example:tscp:1"},
+        {"urn:tscp:names:baf:1.1#BusinessAuthorizationCategory", "urn:example:tscp:1:confidential"},
+        {"urn:tscp:names:baf:1.1#BusinessAuthorizationDate", "2015-11-27T11:45:00"}
+    };
+    std::map<OUString, OUString> aActualStatements;
+    xStatements = xGraph->getStatements(xParagraph, uno::Reference<rdf::XURI>(), uno::Reference<rdf::XURI>());
+    while (xStatements->hasMoreElements())
+    {
+        rdf::Statement aStatement = xStatements->nextElement().get<rdf::Statement>();
+        aActualStatements[aStatement.Predicate->getNamespace() + aStatement.Predicate->getLocalName()] = aStatement.Object->getStringValue();
+    }
+    CPPUNIT_ASSERT(aExpectedStatements == aActualStatements);
+
+    // No RDF statement on the third paragraph.
+    xParagraph.set(getParagraph(3), uno::UNO_QUERY);
+    xStatements = xGraph->getStatements(xParagraph, uno::Reference<rdf::XURI>(), uno::Reference<rdf::XURI>());
+    CPPUNIT_ASSERT_EQUAL(false, static_cast<bool>(xStatements->hasMoreElements()));
+}
+
 DECLARE_WW8EXPORT_TEST(testFdo45724, "fdo45724.odt")
 {
     // The text and background color of the control shape was not correct.
diff --git a/sw/qa/extras/ww8import/ww8import.cxx b/sw/qa/extras/ww8import/ww8import.cxx
index 6714b71..7e9307b 100644
--- a/sw/qa/extras/ww8import/ww8import.cxx
+++ b/sw/qa/extras/ww8import/ww8import.cxx
@@ -18,8 +18,6 @@
 #include <com/sun/star/text/XTextFramesSupplier.hpp>
 #include <com/sun/star/text/XTextTablesSupplier.hpp>
 #include <com/sun/star/table/ShadowFormat.hpp>
-#include <com/sun/star/rdf/URI.hpp>
-#include <com/sun/star/rdf/Statement.hpp>
 
 #include <vcl/svapp.hxx>
 
@@ -49,45 +47,6 @@ DECLARE_WW8IMPORT_TEST(testFloatingTableSectionMargins, "floating-table-section-
     CPPUNIT_ASSERT( abs(( pageLeft + pageWidth / 2 ) - ( tableLeft + tableWidth / 2 )) < 20 );
 }
 
-DECLARE_WW8IMPORT_TEST(testTscp, "tscp.doc")
-{
-    uno::Reference<uno::XComponentContext> xComponentContext(comphelper::getProcessComponentContext());
-    uno::Reference<rdf::XURI> xType = rdf::URI::create(xComponentContext, "urn:tscp:names:baf:1.1");
-    uno::Reference<rdf::XDocumentMetadataAccess> xDocumentMetadataAccess(mxComponent, uno::UNO_QUERY);
-    uno::Sequence< uno::Reference<rdf::XURI> > aGraphNames = xDocumentMetadataAccess->getMetadataGraphsWithType(xType);
-    // This failed, no graphs had the urn:tscp:names:baf:1.1 type.
-    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), aGraphNames.getLength());
-    uno::Reference<rdf::XURI> xGraphName = aGraphNames[0];
-    uno::Reference<rdf::XNamedGraph> xGraph = xDocumentMetadataAccess->getRDFRepository()->getGraph(xGraphName);
-
-    // No RDF statement on the first paragraph.
-    uno::Reference<rdf::XResource> xParagraph(getParagraph(1), uno::UNO_QUERY);
-    uno::Reference<container::XEnumeration> xStatements = xGraph->getStatements(xParagraph, uno::Reference<rdf::XURI>(), uno::Reference<rdf::XURI>());
-    CPPUNIT_ASSERT_EQUAL(false, static_cast<bool>(xStatements->hasMoreElements()));
-
-    // 3 RDF statements on the second paragraph.
-    xParagraph.set(getParagraph(2), uno::UNO_QUERY);
-    std::map<OUString, OUString> aExpectedStatements = {
-        {"urn:tscp:names:baf:1.1#BusinessAuthorization", "urn:example:tscp:1"},
-        {"urn:tscp:names:baf:1.1#BusinessAuthorizationCategory", "urn:example:tscp:1:confidential"},
-        {"urn:tscp:names:baf:1.1#BusinessAuthorizationDate", "2015-11-27T11:45:00"}
-    };
-    std::map<OUString, OUString> aActualStatements;
-    xStatements = xGraph->getStatements(xParagraph, uno::Reference<rdf::XURI>(), uno::Reference<rdf::XURI>());
-    while (xStatements->hasMoreElements())
-    {
-        rdf::Statement aStatement = xStatements->nextElement().get<rdf::Statement>();
-        aActualStatements[aStatement.Predicate->getNamespace() + aStatement.Predicate->getLocalName()] = aStatement.Object->getStringValue();
-    }
-    CPPUNIT_ASSERT(aExpectedStatements == aActualStatements);
-
-    // No RDF statement on the third paragraph.
-    xParagraph.set(getParagraph(3), uno::UNO_QUERY);
-    xStatements = xGraph->getStatements(xParagraph, uno::Reference<rdf::XURI>(), uno::Reference<rdf::XURI>());
-    CPPUNIT_ASSERT_EQUAL(false, static_cast<bool>(xStatements->hasMoreElements()));
-}
-
-
 DECLARE_WW8IMPORT_TEST(testN757910, "n757910.doc")
 {
     // The internal margin was larger than 0.28cm
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 7386ee8..3dda138 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -44,7 +44,6 @@
 
 #include <vcl/settings.hxx>
 #include <vcl/svapp.hxx>
-#include <svtools/miscopt.hxx>
 
 #ifdef DEBUGSPRMREADER
 #include <stdio.h>
@@ -5855,15 +5854,11 @@ WW8Fib::WW8Fib(SvStream& rSt, sal_uInt8 nWantedVersion, sal_uInt32 nOffset)
                 rSt.Seek(0x432);
                 rSt.ReadInt32(fcPlcfBkfFactoid);
                 rSt.ReadUInt32(lcbPlcfBkfFactoid);
-            }
-            if (cfclcb > 136)
-            {
+
                 rSt.Seek(0x442);
                 rSt.ReadInt32(fcPlcfBklFactoid);
                 rSt.ReadUInt32(lcbPlcfBklFactoid);
-            }
-            if (cfclcb > 137)
-            {
+
                 rSt.Seek(0x44a);
                 rSt.ReadInt32(fcFactoidData);
                 rSt.ReadUInt32(lcbFactoidData);
@@ -6241,28 +6236,23 @@ bool WW8Fib::Write(SvStream& rStrm)
         Set_UInt32( pData, fcAtrdExtra );
         Set_UInt32( pData, lcbAtrdExtra );
 
-        SvtMiscOptions aMiscOptions;
-        if (aMiscOptions.IsExperimentalMode())
-        {
-            pData += 0x42a - 0x422;
-            Set_UInt32(pData, fcSttbfBkmkFactoid);
-            Set_UInt32(pData, lcbSttbfBkmkFactoid);
-            Set_UInt32(pData, fcPlcfBkfFactoid);
-            Set_UInt32(pData, lcbPlcfBkfFactoid);
-
-            pData += 0x442 - 0x43A;
-            Set_UInt32(pData, fcPlcfBklFactoid);
-            Set_UInt32(pData, lcbPlcfBklFactoid);
-            Set_UInt32(pData, fcFactoidData);
-            Set_UInt32(pData, lcbFactoidData);
-
-            pData += 0x4BA - 0x452;
-            Set_UInt32(pData, fcPlcffactoid);
-            Set_UInt32(pData, lcbPlcffactoid);
-        }
-        else
-            pData += 0x4DA - 0x422;
+        pData += 0x42a - 0x422;
+        Set_UInt32(pData, fcSttbfBkmkFactoid);
+        Set_UInt32(pData, lcbSttbfBkmkFactoid);
+        Set_UInt32(pData, fcPlcfBkfFactoid);
+        Set_UInt32(pData, lcbPlcfBkfFactoid);
+
+        pData += 0x442 - 0x43A;
+        Set_UInt32(pData, fcPlcfBklFactoid);
+        Set_UInt32(pData, lcbPlcfBklFactoid);
+        Set_UInt32(pData, fcFactoidData);
+        Set_UInt32(pData, lcbFactoidData);
+
+        pData += 0x4BA - 0x452;
+        Set_UInt32(pData, fcPlcffactoid);
+        Set_UInt32(pData, lcbPlcffactoid);
 
+        pData += 0x4DA - 0x4c2;
         Set_UInt32( pData, fcHplxsdr );
         Set_UInt32( pData, 0);
     }


More information about the Libreoffice-commits mailing list