[Libreoffice-commits] .: writerfilter/CppunitTest_writerfilter_doctok.mk writerfilter/Module_writerfilter.mk writerfilter/qa

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Sep 17 12:01:33 PDT 2012


 writerfilter/CppunitTest_writerfilter_doctok.mk    |    6 
 writerfilter/Module_writerfilter.mk                |    5 
 writerfilter/qa/complex/ooxml/LoadDocuments.java   |   79 ++----
 writerfilter/qa/complex/ooxml/TestDocument.java    |   31 --
 writerfilter/qa/cppunittests/doctok/testdoctok.cxx |  271 ++++++++++++++-------
 5 files changed, 213 insertions(+), 179 deletions(-)

New commits:
commit 477e19d22f7952c78df22416099a4f57f9e90684
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date:   Mon Sep 17 18:54:04 2012 +0100

    targetted make reversion.

diff --git a/writerfilter/CppunitTest_writerfilter_doctok.mk b/writerfilter/CppunitTest_writerfilter_doctok.mk
index ae2fb2c..fd2fe87 100644
--- a/writerfilter/CppunitTest_writerfilter_doctok.mk
+++ b/writerfilter/CppunitTest_writerfilter_doctok.mk
@@ -45,9 +45,7 @@ $(eval $(call gb_CppunitTest_set_include,writerfilter_doctok,\
 	-I$(SRCDIR)/writerfilter/inc \
 ))
 
-$(eval $(call gb_CppunitTest_use_api,writerfilter_doctok,\
-	offapi \
-	udkapi \
-))
+$(eval $(call gb_CppunitTest_use_sdk_api,writerfilter_doctok))
+$(eval $(call gb_CppunitTest_use_udk_api,writerfilter_doctok))
 
 # vim: set noet sw=4 ts=4:
diff --git a/writerfilter/Module_writerfilter.mk b/writerfilter/Module_writerfilter.mk
index 4daf029..0b33587 100644
--- a/writerfilter/Module_writerfilter.mk
+++ b/writerfilter/Module_writerfilter.mk
@@ -35,12 +35,9 @@ $(eval $(call gb_Module_add_targets,writerfilter,\
 ))
 
 $(eval $(call gb_Module_add_check_targets,writerfilter,\
-    CppunitTest_writerfilter_doctok \
     CppunitTest_writerfilter_rtftok \
 ))
 
-$(eval $(call gb_Module_add_subsequentcheck_targets,writerfilter,\
-    JunitTest_writerfilter_complex \
-))
+#    CppunitTest_writerfilter_doctok \
 
 # vim: set noet sw=4 ts=4:
diff --git a/writerfilter/qa/complex/ooxml/LoadDocuments.java b/writerfilter/qa/complex/ooxml/LoadDocuments.java
index 984ef76..acbbdb6 100644
--- a/writerfilter/qa/complex/ooxml/LoadDocuments.java
+++ b/writerfilter/qa/complex/ooxml/LoadDocuments.java
@@ -17,17 +17,10 @@
  */
 
 package complex.ooxml;
-
-import com.sun.star.lang.XComponent;
 import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.uno.UnoRuntime;
+import complexlib.ComplexTestCase;
 import java.io.File;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.openoffice.test.Argument;
-import org.openoffice.test.OfficeConnection;
-import static org.junit.Assert.*;
+import com.sun.star.text.XTextDocument;
 
 /*
  * To change this template, choose Tools | Templates
@@ -38,54 +31,38 @@ import static org.junit.Assert.*;
  *
  * @author hb137859
  */
-public class LoadDocuments {
-    @Test public void test1() {
-        String testDocumentsPath = Argument.get("tdoc");
-        System.out.println("Test documents in:" + testDocumentsPath);
+public class LoadDocuments extends ComplexTestCase {
+    private XMultiServiceFactory m_xMSF;
+
+    @Override
+    public String[] getTestMethodNames() {
+        return new String [] {
+            "test1"
+        };
+    }
+
+    public void before() throws Exception {
+        m_xMSF = (XMultiServiceFactory) param.getMSF();
+    }
+
+    public void test1() {
+        String testDocumentsPath = util.utils.getFullTestDocName("");
+        log.println("Test documents in:" + testDocumentsPath);
 
         File dir = new File(testDocumentsPath);
         String [] files = dir.list();
 
-        try {
-            if (files != null) {
-                for (int i = 0; i < files.length; ++i) {
-                    System.out.println(files[i]);
-                    String url = TestDocument.getUrl(files[i]);
-                    System.out.println(url);
+        if (files != null) {
+            for (int i = 0; i < files.length; ++i) {
+                log.println(files[i]);
+                String url = util.utils.getFullTestURL(files[i]);
+                log.println(url);
 
-                    XComponent xDoc = util.DesktopTools.loadDoc(getMSF(), url, null);
-                    System.out.println("loaded.");
-                    util.DesktopTools.closeDoc(xDoc);
-                    System.out.println("done.");
-                }
-            } else {
-                fail("Files not found");
+                XTextDocument xDoc = util.WriterTools.loadTextDoc(m_xMSF, url);
+                util.DesktopTools.closeDoc(xDoc);
             }
+        } else {
+            failed();
         }
-        catch (Exception e) {
-            System.out.println(e);
-            fail("failed");
-        }
-    }
-
-    private XMultiServiceFactory getMSF()
-    {
-        final XMultiServiceFactory xMSF1 = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager());
-        return xMSF1;
-    }
-
-    // setup and close connections
-    @BeforeClass public static void setUpConnection() throws Exception
-    {
-        System.out.println("setUpConnection()");
-        connection.setUp();
-    }
-
-    @AfterClass public static void tearDownConnection()
-            throws InterruptedException, com.sun.star.uno.Exception
-    {
-        System.out.println("tearDownConnection()");
-        connection.tearDown();
     }
-    private static final OfficeConnection connection = new OfficeConnection();
 }
diff --git a/writerfilter/qa/complex/ooxml/TestDocument.java b/writerfilter/qa/complex/ooxml/TestDocument.java
deleted file mode 100644
index e29b7e7..0000000
--- a/writerfilter/qa/complex/ooxml/TestDocument.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-package complex.ooxml;
-
-import java.io.File;
-import org.openoffice.test.OfficeFileUrl;
-import org.openoffice.test.Argument;
-
-final class TestDocument {
-    public static String getUrl(String name) {
-        return OfficeFileUrl.getAbsolute(new File(Argument.get("tdoc"), name));
-    }
-
-    private TestDocument() {}
-}
diff --git a/writerfilter/qa/cppunittests/doctok/testdoctok.cxx b/writerfilter/qa/cppunittests/doctok/testdoctok.cxx
index b86fb92..7fef9a6 100644
--- a/writerfilter/qa/cppunittests/doctok/testdoctok.cxx
+++ b/writerfilter/qa/cppunittests/doctok/testdoctok.cxx
@@ -17,141 +17,234 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
+#include <sal/config.h>
+
 #include <osl/process.h>
+#include <ucbhelper/contentbroker.hxx>
+#include <ucbhelper/std_inputstream.hxx>
 #include <cppuhelper/bootstrap.hxx>
 #include "cppunit/TestAssert.h"
 #include "cppunit/TestFixture.h"
 #include "cppunit/extensions/HelperMacros.h"
 #include "cppunit/plugin/TestPlugIn.h"
-#include <com/sun/star/io/XInputStream.hpp>
 #include <com/sun/star/ucb/XSimpleFileAccess.hpp>
+#include <com/sun/star/io/XInputStream.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <iostream>
+#include <com/sun/star/lang/XMultiComponentFactory.hpp>
+#include <com/sun/star/uno/Any.hxx>
+#include <com/sun/star/container/XNameContainer.hpp>
 
+#include <resourcemodel/exceptions.hxx>
 #include <doctok/WW8Document.hxx>
+#include <resourcemodel/WW8ResourceModel.hxx>
+
+#include <iostream>
 
 namespace testdoctok
 {
-using namespace ::std;
-using namespace ::com::sun::star;
-using namespace ::writerfilter::doctok;
+    using namespace ::std;
+    using namespace ::writerfilter::doctok;
+    using namespace ::com::sun::star;
 
-uno::Reference<io::XInputStream> xStream;
-uno::Reference<uno::XComponentContext> xContext;
-WW8Document::Pointer_t pDocument;
-uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess > xSimpleFileAccess;
+    uno::Reference<io::XInputStream> xStream;
+    uno::Reference<uno::XComponentContext> xContext;
+    WW8Document::Pointer_t pDocument;
+    uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess > xSimpleFileAccess;
 
-class test : public CppUnit::TestFixture
-{
-
-public:
-    // initialise your test code values here.
-    void setUp()
+    class test : public CppUnit::TestFixture
     {
-    }
 
-    void tearDown()
-    {
-    }
+    public:
+        // initialise your test code values here.
+        void setUp()
+        {
+        }
 
-    void testInitUno()
-    {
-        bool bResult = false;
+        void tearDown()
+        {
+        }
 
-        uno::Reference<uno::XComponentContext>
-            xComponentContext
-            (::cppu::defaultBootstrap_InitialComponentContext());
-        OSL_ASSERT( xComponentContext.is() );
+        void testInitUno()
+        {
+            bool bResult = false;
 
-        xContext = xComponentContext;
+            // initialise UCB-Broker
+            uno::Reference<uno::XComponentContext>
+                xComponentContext
+                (::cppu::defaultBootstrap_InitialComponentContext());
+            OSL_ASSERT( xComponentContext.is() );
 
-        uno::Reference<lang::XMultiComponentFactory>
-            xFactory(xComponentContext->getServiceManager() );
-        OSL_ASSERT(xFactory.is());
+            xContext = xComponentContext;
 
-        uno::Reference<lang::XMultiServiceFactory>
-            xServiceFactory(xFactory, uno::UNO_QUERY);
-        OSL_ASSERT( xServiceFactory.is() );
+            uno::Reference<lang::XMultiComponentFactory>
+                xFactory(xComponentContext->getServiceManager() );
+            OSL_ASSERT(xFactory.is());
 
-        if (xServiceFactory.is())
-        {
-            uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess >
-                xNameContainer(xFactory->createInstanceWithContext
-                               ("com.sun.star.ucb.SimpleFileAccess",
-                                xComponentContext), uno::UNO_QUERY );
+            uno::Sequence<uno::Any> aUcbInitSequence(2);
+            aUcbInitSequence[0] <<=
+                rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Local"));
+            aUcbInitSequence[1] <<=
+                rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Office"));
 
-            if (xNameContainer.is())
-            {
-                xSimpleFileAccess = xNameContainer;
+            uno::Reference<lang::XMultiServiceFactory>
+                xServiceFactory(xFactory, uno::UNO_QUERY);
+            OSL_ASSERT( xServiceFactory.is() );
 
-                bResult = true;
+            if (xServiceFactory.is())
+            {
+                sal_Bool bRet =
+                    ::ucb::ContentBroker::initialize(xServiceFactory,
+                                                     aUcbInitSequence);
+
+                OSL_ASSERT(bRet);
+                if (bRet)
+                {
+                    uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess >
+                        xNameContainer(xFactory->createInstanceWithContext
+                                       (::rtl::OUString::createFromAscii
+                                        ("com.sun.star.ucb.SimpleFileAccess" ),
+                                        xComponentContext), uno::UNO_QUERY );
+
+                    if (xNameContainer.is())
+                    {
+                        xSimpleFileAccess = xNameContainer;
+
+                        bResult = true;
+                    }
+                }
             }
+
+            CPPUNIT_ASSERT_MESSAGE("UNO initialization failed",
+                                   bResult);
         }
 
-        CPPUNIT_ASSERT_MESSAGE("UNO initialization failed",
-                               bResult);
-    }
+        // insert your test code here.
+        void testOpenFile()
+        {
+            try
+            {
+                rtl_uString *dir=NULL;
+                osl_getProcessWorkingDir(&dir);
+                rtl_uString *fname=NULL;
+                //rtl_uString_newFromAscii(&fname, "/OpenDocument-v1.doc");
+                rtl_uString_newFromAscii(&fname, "/test.doc");
+                //rtl_uString_newFromAscii(&fname, "/numbers.doc");
+                rtl_uString *absfile=NULL;
+                rtl_uString_newConcat(&absfile, dir, fname);
 
-    // insert your test code here.
-    void testOpenFile()
-    {
-        rtl_uString *dir=NULL;
-        osl_getProcessWorkingDir(&dir);
-        rtl_uString *fname=NULL;
-        rtl_uString_newFromAscii(&fname, "/test.doc");
-        rtl_uString *absfile=NULL;
-        rtl_uString_newConcat(&absfile, dir, fname);
+                rtl::OUString sInputFileURL( absfile );
 
-        OUString sInputFileURL( absfile );
+                for (sal_uInt32 n = 0; n < sInputFileURL.getLength(); ++n)
+                {
+                    sal_uChar nC = sInputFileURL[n];
 
-        for (sal_Int32 n = 0; n < sInputFileURL.getLength(); ++n)
-        {
-            sal_uChar nC = sInputFileURL[n];
+                    if (nC < 0xff && isprint(nC))
+                        clog << static_cast<char>(nC);
+                    else
+                        clog << ".";
+                }
+
+                clog << endl;
+
+                xStream = xSimpleFileAccess->openFileRead(sInputFileURL);
+
+                WW8Stream::Pointer_t pStream =
+                    WW8DocumentFactory::createStream(xContext, xStream);
 
-            if (nC < 0xff && isprint(nC))
-                clog << static_cast<char>(nC);
-            else
-                clog << ".";
+                pDocument = WW8DocumentFactory::createDocument(pStream);
+            }
+            catch (writerfilter::Exception e)
+            {
+                clog << "Exception!!" << endl;
+            }
+
+            CPPUNIT_ASSERT_MESSAGE("creating document failed",
+                                   pDocument != NULL);
+
+#if 1
         }
 
-        clog << endl;
+        void testTraversal()
+        {
+#endif
+            sal_uInt32 nResult = 0;
 
-        xStream = xSimpleFileAccess->openFileRead(sInputFileURL);
+            try
+            {
+                WW8DocumentIterator::Pointer_t pIt = pDocument->begin();
+                WW8DocumentIterator::Pointer_t pItEnd = pDocument->end();
 
-        WW8Stream::Pointer_t pStream =
-            WW8DocumentFactory::createStream(xContext, xStream);
+                while (! pIt->equal(*pItEnd))
+                {
+                    pIt->dump(clog);
 
-        pDocument.reset(WW8DocumentFactory::createDocument(pStream));
+                    clog << endl;
 
-        CPPUNIT_ASSERT_MESSAGE("creating document failed",
-                               pDocument != NULL);
-    }
+                    WW8PropertySet::Pointer_t pAttrs = pIt->getProperties();
 
-    void testEvents()
-    {
-        ::writerfilter::Stream::Pointer_t pStream = ::writerfilter::createStreamHandler();
+                    if (pAttrs != NULL)
+                    {
+                        pAttrs->dump(clog);
+                    }
 
-        pDocument->resolve(*pStream);
-    }
+                    pIt->getText().dump(clog);
+                    ++(*pIt);
+                    ++nResult;
+                }
+            }
+            catch (writerfilter::Exception e)
+            {
+                clog << "Exception!!" << endl;
+            }
 
-    // Change the following lines only, if you add, remove or rename
-    // member functions of the current class,
-    // because these macros are need by auto register mechanism.
+            char sBuffer[256];
+            snprintf(sBuffer, 255, "%d", nResult);
+            clog << "Iterator steps:" << sBuffer << endl;
 
-    CPPUNIT_TEST_SUITE(test);
-    CPPUNIT_TEST(testInitUno);
-    CPPUNIT_TEST(testOpenFile);
-    CPPUNIT_TEST(testEvents);
-    CPPUNIT_TEST_SUITE_END();
-}; // class test
+            CPPUNIT_ASSERT_MESSAGE("traversing document failed",
+                                   nResult > 0);
+        }
 
-// -----------------------------------------------------------------------------
-CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(testdoctok::test, "doctok");
-} // namespace doctok
+        void testEvents()
+        {
+            try
+            {
+                Stream::Pointer_t pStream = doctok::createStreamHandler();
+
+                pDocument->resolve(*pStream);
+            }
+            catch (writerfilter::Exception e)
+            {
+                clog << "Exception!!" << endl;
+            }
+        }
+
+        void testEnd()
+        {
+            ::ucb::ContentBroker::deinitialize();
+        }
 
+        // Change the following lines only, if you add, remove or rename
+        // member functions of the current class,
+        // because these macros are need by auto register mechanism.
+
+        CPPUNIT_TEST_SUITE(test);
+        CPPUNIT_TEST(testInitUno);
+        CPPUNIT_TEST(testOpenFile);
+        //CPPUNIT_TEST(testTraversal);
+        CPPUNIT_TEST(testEvents);
+        CPPUNIT_TEST(testEnd);
+        CPPUNIT_TEST_SUITE_END();
+    }; // class test
+
+    // -----------------------------------------------------------------------------
+    CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(testdoctok::test, "doctok");
+} // namespace doctok
 
 // -----------------------------------------------------------------------------
 
-CPPUNIT_PLUGIN_IMPLEMENT();
+// this macro creates an empty function, which will called by the RegisterAllFunctions()
+// to let the user the possibility to also register some functions by hand.
+NOADDITIONAL;
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list