summaryrefslogtreecommitdiff
path: root/unoxml
diff options
context:
space:
mode:
authorTobias Madl <tobias.madl.dev@gmail.com>2014-09-23 11:43:14 +0000
committerStephan Bergmann <sbergman@redhat.com>2014-09-25 15:30:02 +0200
commitdbbd89efdeaa44421d1f2ad774c342009d881d9b (patch)
tree0f1555eb5909f52c881a24ea7a8ba52770149ff0 /unoxml
parenta895a27c6bd0af5c4880bcd9e6238b99af0eed51 (diff)
fdo#39625 Make existing CppUnit tests work
As in the ticket description, this test is now working, but some parts of it are still commented out, because they are waiting for a fix of another bug (Bug 84237). Once it is fixed, it should be possible to just uncomment them, and then they should work. Change-Id: I73d1cc7391080e357c08cb3442616e2901070c1f Signed-off-by: Stephan Bergmann <sbergman@redhat.com> (with minor amendments)
Diffstat (limited to 'unoxml')
-rw-r--r--unoxml/CppunitTest_unoxml_domtest.mk47
-rw-r--r--unoxml/Module_unoxml.mk4
-rw-r--r--unoxml/test/domtest.cxx150
3 files changed, 103 insertions, 98 deletions
diff --git a/unoxml/CppunitTest_unoxml_domtest.mk b/unoxml/CppunitTest_unoxml_domtest.mk
new file mode 100644
index 000000000000..b12fd1e04cce
--- /dev/null
+++ b/unoxml/CppunitTest_unoxml_domtest.mk
@@ -0,0 +1,47 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_CppunitTest_CppunitTest,unoxml_domtest))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,unoxml_domtest, \
+ unoxml/test/domtest \
+))
+
+$(eval $(call gb_CppunitTest_use_api,unoxml_domtest,\
+ offapi \
+ udkapi \
+))
+
+$(eval $(call gb_CppunitTest_use_components,unoxml_domtest,\
+ configmgr/source/configmgr \
+ framework/util/fwk \
+ i18npool/util/i18npool \
+ sfx2/util/sfx \
+ ucb/source/core/ucb1 \
+ ucb/source/ucp/file/ucpfile1 \
+ unoxml/source/service/unoxml \
+))
+
+$(eval $(call gb_CppunitTest_use_externals,unoxml_domtest, \
+ boost_headers \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,unoxml_domtest, \
+ comphelper \
+ cppu \
+ cppuhelper \
+ sal \
+ test \
+))
+
+$(eval $(call gb_CppunitTest_use_configuration,unoxml_domtest))
+$(eval $(call gb_CppunitTest_use_ure,unoxml_domtest))
+$(eval $(call gb_CppunitTest_use_vcl,unoxml_domtest))
+
+# vim: set noet sw=4 ts=4:
diff --git a/unoxml/Module_unoxml.mk b/unoxml/Module_unoxml.mk
index 53cf5891a3a8..bb069531ff63 100644
--- a/unoxml/Module_unoxml.mk
+++ b/unoxml/Module_unoxml.mk
@@ -24,6 +24,10 @@ $(eval $(call gb_Module_add_targets,unoxml,\
Library_unordf \
))
+$(eval $(call gb_Module_add_slowcheck_targets,unoxml,\
+ CppunitTest_unoxml_domtest \
+))
+
ifneq ($(OOO_JUNIT_JAR),)
$(eval $(call gb_Module_add_subsequentcheck_targets,unoxml,\
JunitTest_unoxml_complex \
diff --git a/unoxml/test/domtest.cxx b/unoxml/test/domtest.cxx
index 5d49922605a9..07d173807c12 100644
--- a/unoxml/test/domtest.cxx
+++ b/unoxml/test/domtest.cxx
@@ -17,28 +17,34 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-// autogenerated file with codegen.pl
-
-#include <testshl/simpleheader.hxx>
-
#include <rtl/ref.hxx>
+#include <rtl/byteseq.hxx>
#include <osl/file.hxx>
#include <osl/process.h>
#include <comphelper/seqstream.hxx>
#include <comphelper/sequence.hxx>
+#include <comphelper/processfactory.hxx>
#include <cppuhelper/compbase1.hxx>
#include <cppuhelper/bootstrap.hxx>
#include <cppuhelper/basemutex.hxx>
+#include <cppunit/TestFixture.h>
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/plugin/TestPlugIn.h>
+#include <unotest/macros_test.hxx>
+#include <test/bootstrapfixture.hxx>
+#include <com/sun/star/xml/dom/DocumentBuilder.hpp>
#include <com/sun/star/xml/sax/FastToken.hpp>
#include <com/sun/star/xml/sax/XSAXSerializable.hpp>
#include <com/sun/star/xml/sax/XFastSAXSerializable.hpp>
-
#include "../source/dom/documentbuilder.hxx"
using namespace ::DOM;
using namespace ::comphelper;
using namespace ::com::sun::star;
+using namespace ::com::sun::star::uno;
+using css::xml::dom::XDocumentBuilder;
+using css::xml::dom::DocumentBuilder;
namespace
{
@@ -96,17 +102,17 @@ struct ErrorHandler
ErrorHandler() : mnErrCount(0), mnFatalCount(0), mnWarnCount(0)
{}
- virtual void SAL_CALL error( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL error( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
++mnErrCount;
}
- virtual void SAL_CALL fatalError( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL fatalError( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
++mnFatalCount;
}
- virtual void SAL_CALL warning( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL warning( const uno::Any& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
++mnWarnCount;
}
@@ -116,48 +122,48 @@ struct DocumentHandler
: public ::cppu::WeakImplHelper1< xml::sax::XFastDocumentHandler >
{
// XFastContextHandler
- virtual void SAL_CALL startFastElement( ::sal_Int32 Element, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL startFastElement( ::sal_Int32 Element, const uno::Reference< xml::sax::XFastAttributeList >& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
OSL_TRACE("Seen element: %c with namespace 0x%x",
Element & 0xFFFF, Element & 0xFFFF0000);
}
- virtual void SAL_CALL startUnknownElement( const OUString& Namespace, const OUString& Name, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL startUnknownElement( const OUString& , const OUString& , const uno::Reference< xml::sax::XFastAttributeList >& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
}
- virtual void SAL_CALL endFastElement( ::sal_Int32 Element ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL endFastElement( ::sal_Int32 ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
}
- virtual void SAL_CALL endUnknownElement( const OUString& Namespace, const OUString& Name ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL endUnknownElement( const OUString&, const OUString& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
}
- virtual uno::Reference< xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual uno::Reference< xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 , const uno::Reference< xml::sax::XFastAttributeList >& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
return this;
}
- virtual uno::Reference< xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext( const OUString& Namespace, const OUString& Name, const uno::Reference< xml::sax::XFastAttributeList >& Attribs ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual uno::Reference< xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext( const OUString& , const OUString& , const uno::Reference< xml::sax::XFastAttributeList >& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
return this;
}
- virtual void SAL_CALL characters( const OUString& aChars ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL characters( const OUString& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
}
// XFastDocumentHandler
- virtual void SAL_CALL startDocument( ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL startDocument( ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
}
- virtual void SAL_CALL endDocument( ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL endDocument( ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
}
- virtual void SAL_CALL setDocumentLocator( const uno::Reference< xml::sax::XLocator >& xLocator ) throw (xml::sax::SAXException, uno::RuntimeException)
+ virtual void SAL_CALL setDocumentLocator( const uno::Reference< xml::sax::XLocator >& ) throw (xml::sax::SAXException, uno::RuntimeException) SAL_OVERRIDE
{
}
};
@@ -165,27 +171,13 @@ struct DocumentHandler
struct TokenHandler
: public ::cppu::WeakImplHelper1< xml::sax::XFastTokenHandler >
{
- virtual ::sal_Int32 SAL_CALL getToken( const OUString& Identifier ) throw (uno::RuntimeException)
- {
- CPPUNIT_ASSERT_MESSAGE( "TokenHandler::getToken() unexpected call",
- false );
- return -1;
- }
-
- virtual OUString SAL_CALL getIdentifier( ::sal_Int32 Token ) throw (uno::RuntimeException)
- {
- CPPUNIT_ASSERT_MESSAGE( "TokenHandler::getIdentifier() unexpected call",
- false );
- return OUString();
- }
-
- virtual ::sal_Int32 SAL_CALL getTokenFromUTF8( const uno::Sequence< ::sal_Int8 >& Identifier ) throw (uno::RuntimeException)
+ virtual ::sal_Int32 SAL_CALL getTokenFromUTF8( const uno::Sequence< ::sal_Int8 >& Identifier ) throw (uno::RuntimeException) SAL_OVERRIDE
{
OSL_TRACE("getTokenFromUTF8() %s", (const char*)Identifier.getConstArray());
return Identifier.getLength() ? Identifier[0] : 0;
}
- virtual uno::Sequence< ::sal_Int8 > SAL_CALL getUTF8Identifier( ::sal_Int32 Token ) throw (uno::RuntimeException)
+ virtual uno::Sequence< ::sal_Int8 > SAL_CALL getUTF8Identifier( ::sal_Int32 ) throw (uno::RuntimeException) SAL_OVERRIDE
{
CPPUNIT_ASSERT_MESSAGE( "TokenHandler::getUTF8Identifier() unexpected call",
false );
@@ -193,29 +185,26 @@ struct TokenHandler
}
};
-struct BasicTest : public CppUnit::TestFixture
+struct BasicTest : public test::BootstrapFixture
{
- rtl::Reference<CDocumentBuilder> mxDomBuilder;
+ uno::Reference<XDocumentBuilder> mxDomBuilder;
rtl::Reference<ErrorHandler> mxErrHandler;
rtl::Reference<SequenceInputStream> mxValidInStream;
rtl::Reference<SequenceInputStream> mxWarningInStream;
rtl::Reference<SequenceInputStream> mxErrorInStream;
rtl::Reference<SequenceInputStream> mxFatalInStream;
- void setUp()
+ virtual void setUp() SAL_OVERRIDE
{
- // luckily, DOM builder doesn't use service fac, so we need
- // not bootstrap uno here
+ test::BootstrapFixture::setUp();
+
mxErrHandler.set( new ErrorHandler() );
- mxDomBuilder.set( new CDocumentBuilder(Reference< XMultiServiceFactory >() ));
- mxValidInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)validTestFile,
- SAL_N_ELEMENTS(validTestFile))) );
- mxWarningInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)warningTestFile,
- SAL_N_ELEMENTS(warningTestFile))) );
- mxErrorInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)errorTestFile,
- SAL_N_ELEMENTS(errorTestFile))) );
- mxFatalInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)fatalTestFile,
- SAL_N_ELEMENTS(fatalTestFile))) );
+ uno::Reference<XDocumentBuilder> xDB( getMultiServiceFactory()->createInstance(OUString("com.sun.star.xml.dom.DocumentBuilder")), uno::UNO_QUERY_THROW );
+ mxDomBuilder.set( xDB );
+ mxValidInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>((sal_Int8*)validTestFile, SAL_N_ELEMENTS(validTestFile))) );
+ mxWarningInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>((sal_Int8*)warningTestFile, SAL_N_ELEMENTS(warningTestFile))) );
+ mxErrorInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>((sal_Int8*)errorTestFile, SAL_N_ELEMENTS(errorTestFile))) );
+ mxFatalInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>((sal_Int8*)fatalTestFile, SAL_N_ELEMENTS(fatalTestFile))) );
mxDomBuilder->setErrorHandler(mxErrHandler.get());
}
@@ -228,7 +217,7 @@ struct BasicTest : public CppUnit::TestFixture
CPPUNIT_ASSERT_MESSAGE( "Valid input file resulted in parse errors",
mxErrHandler->noErrors() );
}
-
+/*
void warningInputTest()
{
CPPUNIT_ASSERT_MESSAGE( "Valid input file did not result in XDocument #2",
@@ -258,71 +247,36 @@ struct BasicTest : public CppUnit::TestFixture
CPPUNIT_ASSERT_MESSAGE( "No fatal parse errors in unclean input file",
!mxErrHandler->mnWarnCount && !mxErrHandler->mnErrCount && mxErrHandler->mnFatalCount );
};
-
+*/
// 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(BasicTest);
CPPUNIT_TEST(validInputTest);
- CPPUNIT_TEST(warningInputTest);
- CPPUNIT_TEST(errorInputTest);
- CPPUNIT_TEST(fatalInputTest);
+ //CPPUNIT_TEST(warningInputTest);
+ //CPPUNIT_TEST(errorInputTest);
+ //CPPUNIT_TEST(fatalInputTest);
CPPUNIT_TEST_SUITE_END();
};
-struct SerializerTest : public CppUnit::TestFixture
+struct SerializerTest : public test::BootstrapFixture
{
- SerializerTest() : mbUnoInitialized(false) {}
-
- uno::Reference<uno::XComponentContext> mxCtx;
- rtl::Reference<CDocumentBuilder> mxDomBuilder;
+ uno::Reference<XDocumentBuilder> mxDomBuilder;
rtl::Reference<ErrorHandler> mxErrHandler;
rtl::Reference<SequenceInputStream> mxInStream;
rtl::Reference<DocumentHandler> mxHandler;
rtl::Reference<TokenHandler> mxTokHandler;
uno::Sequence< beans::Pair< OUString, sal_Int32 > > maRegisteredNamespaces;
- bool mbUnoInitialized;
- void setUp()
+ void setUp() SAL_OVERRIDE
{
- // need working typelib, bootstrap UNO now
- if( !mbUnoInitialized )
- {
- const char* pArgs( getForwardString() );
- CPPUNIT_ASSERT_MESSAGE("Test file parameter", pArgs);
-
- const OUString sBaseDir=OUString::createFromAscii(pArgs);
-
- // bootstrap UNO
- try
- {
- OUString aIniUrl;
- CPPUNIT_ASSERT_MESSAGE(
- "Converting ini file to URL",
- osl_getFileURLFromSystemPath(
- (sBaseDir+rtl::"unoxml_unittest_test.ini").pData,
- &aIniUrl.pData ) == osl_File_E_None );
-
- mxCtx = ::cppu::defaultBootstrap_InitialComponentContext(aIniUrl);
- CPPUNIT_ASSERT_MESSAGE("Getting component context", mxCtx.is());
- }
- catch( uno::Exception& )
- {
- CPPUNIT_ASSERT_MESSAGE("Bootstrapping UNO", false);
- }
-
- mbUnoInitialized = true;
- }
+ test::BootstrapFixture::setUp();
mxErrHandler.set( new ErrorHandler() );
- mxDomBuilder.set( new CDocumentBuilder(
- uno::Reference< lang::XMultiServiceFactory >(
- mxCtx->getServiceManager(),
- uno::UNO_QUERY )));
- mxInStream.set( new SequenceInputStream(ByteSequence((sal_Int8*)validTestFile,
- SAL_N_ELEMENTS(validTestFile))) );
+ uno::Reference<XDocumentBuilder> xDB( getMultiServiceFactory()->createInstance(OUString("com.sun.star.xml.dom.DocumentBuilder")), uno::UNO_QUERY_THROW );
+ mxDomBuilder.set( xDB );
+ mxInStream.set( new SequenceInputStream(css::uno::Sequence<sal_Int8>((sal_Int8*)validTestFile, SAL_N_ELEMENTS(validTestFile))) );
mxDomBuilder->setErrorHandler(mxErrHandler.get());
-
mxHandler.set( new DocumentHandler() );
mxTokHandler.set( new TokenHandler() );
@@ -371,12 +325,12 @@ struct SerializerTest : public CppUnit::TestFixture
CPPUNIT_TEST_SUITE_END();
};
-CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(BasicTest, "BasicTest");
-CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(SerializerTest, "SerializerTest");
+CPPUNIT_TEST_SUITE_REGISTRATION(BasicTest);
+CPPUNIT_TEST_SUITE_REGISTRATION(SerializerTest);
}
// 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;
+CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */