summaryrefslogtreecommitdiff
path: root/writerfilter/qa
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2012-09-17 18:54:04 +0100
committerMichael Meeks <michael.meeks@suse.com>2012-09-17 19:02:07 +0100
commit477e19d22f7952c78df22416099a4f57f9e90684 (patch)
treefa714b74101d70bebce25d1f95982f0f9ebe095c /writerfilter/qa
parent764e7e71038d5ae66061f44bc0cd51ce33ae96ed (diff)
targetted make reversion.
Diffstat (limited to 'writerfilter/qa')
-rw-r--r--writerfilter/qa/complex/ooxml/LoadDocuments.java79
-rw-r--r--writerfilter/qa/complex/ooxml/TestDocument.java31
-rw-r--r--writerfilter/qa/cppunittests/doctok/testdoctok.cxx271
3 files changed, 210 insertions, 171 deletions
diff --git a/writerfilter/qa/complex/ooxml/LoadDocuments.java b/writerfilter/qa/complex/ooxml/LoadDocuments.java
index 984ef76a10e1..acbbdb606ff3 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 e29b7e76ab4a..000000000000
--- 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 b86fb925f67b..7fef9a63d886 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: */