writerfilter/qa/cppunittests/doctok/export.map | 27 -- writerfilter/qa/cppunittests/doctok/makefile.mk | 55 ++-- writerfilter/qa/cppunittests/doctok/testdoctok.cxx | 279 +++++++++------------ 3 files changed, 169 insertions(+), 192 deletions(-)
New commits: commit 5f42875966b8a33d42a9df4c29cf8b9334aaeff3 Author: Damjan Jovanovic <dam...@apache.org> Date: Thu Oct 15 01:13:18 2015 +0000 #i125003# migrate writerfilter/qa/cppunittests/doctok from cppunit to Google Test. Fails to bootstrap UNO but isn't run during the build. diff --git a/writerfilter/qa/cppunittests/doctok/export.map b/writerfilter/qa/cppunittests/doctok/export.map deleted file mode 100644 index d4e60c3..0000000 --- a/writerfilter/qa/cppunittests/doctok/export.map +++ /dev/null @@ -1,27 +0,0 @@ -############################################################### -# -# 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 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -############################################################### -UDK_3_0_0 { - global: - registerAllTestFunction; - - local: - *; -}; diff --git a/writerfilter/qa/cppunittests/doctok/makefile.mk b/writerfilter/qa/cppunittests/doctok/makefile.mk index e6829ac..8739539 100644 --- a/writerfilter/qa/cppunittests/doctok/makefile.mk +++ b/writerfilter/qa/cppunittests/doctok/makefile.mk @@ -31,37 +31,56 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -CFLAGSCXX += $(CPPUNIT_CFLAGS) +.IF "$(ENABLE_UNIT_TESTS)" != "YES" +all: + @echo unit tests are disabled. Nothing to do. + +.ELSE # BEGIN ---------------------------------------------------------------- # auto generated Target:doctok by codegen.pl -SHL1OBJS= \ +APP1OBJS= \ $(SLO)$/testdoctok.obj -SHL1TARGET= testdoctok -SHL1STDLIBS=\ - $(SALLIB) \ +APP1TARGET= testdoctok + +.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC" || "$(GUI)"=="OS2" +RESOURCEMODELLIB=-lresourcemodel +.ELIF "$(GUI)"=="WNT" +.IF "$(COM)"=="GCC" +RESOURCEMODELLIB=-lresourcemodel +.ELSE +RESOURCEMODELLIB=$(LB)$/iresourcemodel.lib +.ENDIF +.ENDIF + +APP1STDLIBS=\ + $(SALLIB) \ $(UCBHELPERLIB) \ $(CPPUHELPERLIB) \ $(CPPULIB) \ - $(TESTSHL2LIB) \ - $(CPPUNITLIB) + $(RESOURCEMODELLIB) \ + $(GTESTLIB) -SHL1LIBS=\ - $(SLB)$/doctok.lib -SHL1DEPS= \ - $(SHL1LIBS) +.IF "$(GUI)"=="WNT" +APP1STDLIBS+= $(LB)$/doctok.lib +.ELIF "$(GUI)"=="UNX" && "$(GUIBASE)"!="aqua" +APP1STDLIBS+=$(LB)$/libdoctok.so +.ELIF "$(GUI)"=="UNX" && "$(GUIBASE)"=="aqua" +APP1STDLIBS+=$(LB)$/libdoctok.dylib +.ENDIF -SHL1IMPLIB= i$(SHL1TARGET) -# SHL1DEF= $(MISC)$/$(SHL1TARGET).def - -DEF1NAME =$(SHL1TARGET) -# DEF1EXPORTFILE= export.exp -SHL1VERSIONMAP= export.map +APP1LIBS=\ + $(SLB)$/doctok.lib +APP1DEPS= \ + $(APP1LIBS) +APP1RPATH = NONE +APP1TEST = enabled # auto generated Target:doctok # END ------------------------------------------------------------------ # --- Targets ------------------------------------------------------ .INCLUDE : target.mk -.INCLUDE : _cppunit.mk + +.ENDIF # "$(ENABLE_UNIT_TESTS)" != "YES" diff --git a/writerfilter/qa/cppunittests/doctok/testdoctok.cxx b/writerfilter/qa/cppunittests/doctok/testdoctok.cxx index 2ffb249..9591ff0 100644 --- a/writerfilter/qa/cppunittests/doctok/testdoctok.cxx +++ b/writerfilter/qa/cppunittests/doctok/testdoctok.cxx @@ -21,7 +21,7 @@ // autogenerated file with codegen.pl -#include <testshl/simpleheader.hxx> +#include "gtest/gtest.h" #include <osl/process.h> #include <ucbhelper/contentbroker.hxx> @@ -33,7 +33,7 @@ #include <com/sun/star/uno/Any.hxx> #include <com/sun/star/container/XNameContainer.hpp> -#include <doctok/exceptions.hxx> +#include <resourcemodel/exceptions.hxx> #include <doctok/WW8Document.hxx> #include <resourcemodel/WW8ResourceModel.hxx> @@ -43,207 +43,192 @@ namespace testdoctok { using namespace ::std; using namespace ::com::sun::star; - using namespace doctok; + using namespace ::writerfilter::doctok; 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 + class test : public ::testing::Test { public: // initialise your test code values here. - void setUp() + void SetUp() { } - void tearDown() + void TearDown() { } + }; // class test - void testInitUno() - { - bool bResult = false; + TEST_F(test, testInitUno) + { + bool bResult = false; - // initialise UCB-Broker - uno::Reference<uno::XComponentContext> - xComponentContext - (::cppu::defaultBootstrap_InitialComponentContext()); - OSL_ASSERT( xComponentContext.is() ); + // initialise UCB-Broker + uno::Reference<uno::XComponentContext> + xComponentContext + (::cppu::defaultBootstrap_InitialComponentContext()); + OSL_ASSERT( xComponentContext.is() ); - xContext = xComponentContext; + xContext = xComponentContext; - uno::Reference<lang::XMultiComponentFactory> - xFactory(xComponentContext->getServiceManager() ); - OSL_ASSERT(xFactory.is()); + uno::Reference<lang::XMultiComponentFactory> + xFactory(xComponentContext->getServiceManager() ); + OSL_ASSERT(xFactory.is()); - uno::Sequence<uno::Any> aUcbInitSequence(2); - aUcbInitSequence[0] <<= - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Local")); - aUcbInitSequence[1] <<= - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Office")); + uno::Sequence<uno::Any> aUcbInitSequence(2); + aUcbInitSequence[0] <<= + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Local")); + aUcbInitSequence[1] <<= + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Office")); - uno::Reference<lang::XMultiServiceFactory> - xServiceFactory(xFactory, uno::UNO_QUERY); - OSL_ASSERT( xServiceFactory.is() ); + uno::Reference<lang::XMultiServiceFactory> + xServiceFactory(xFactory, uno::UNO_QUERY); + OSL_ASSERT( xServiceFactory.is() ); - if (xServiceFactory.is()) + if (xServiceFactory.is()) + { + sal_Bool bRet = + ::ucbhelper::ContentBroker::initialize(xServiceFactory, + aUcbInitSequence); + + OSL_ASSERT(bRet); + if (bRet) { - sal_Bool bRet = - ::ucb::ContentBroker::initialize(xServiceFactory, - aUcbInitSequence); + uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess > + xNameContainer(xFactory->createInstanceWithContext + (::rtl::OUString::createFromAscii + ("com.sun.star.ucb.SimpleFileAccess" ), + xComponentContext), uno::UNO_QUERY ); - OSL_ASSERT(bRet); - if (bRet) + if (xNameContainer.is()) { - 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; - } + xSimpleFileAccess = xNameContainer; + + bResult = true; } } - - CPPUNIT_ASSERT_MESSAGE("UNO initialization failed", - bResult); } - // insert your test code here. - void testOpenFile() + ASSERT_TRUE(bResult) << "UNO initialization failed"; + } + + // insert your test code here. + TEST_F(test, testOpenFile) + { + try { - 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); + + rtl::OUString sInputFileURL( absfile ); + + for (sal_uInt32 n = 0; n < sInputFileURL.getLength(); ++n) { - 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); - - rtl::OUString sInputFileURL( absfile ); - - for (sal_uInt32 n = 0; n < sInputFileURL.getLength(); ++n) - { - sal_uChar nC = sInputFileURL[n]; + sal_uChar nC = sInputFileURL[n]; - if (nC < 0xff && isprint(nC)) - clog << static_cast<char>(nC); - else - clog << "."; - } + if (nC < 0xff && isprint(nC)) + clog << static_cast<char>(nC); + else + clog << "."; + } - clog << endl; + clog << endl; - xStream = xSimpleFileAccess->openFileRead(sInputFileURL); + xStream = xSimpleFileAccess->openFileRead(sInputFileURL); - WW8Stream::Pointer_t pStream = - WW8DocumentFactory::createStream(xContext, xStream); + WW8Stream::Pointer_t pStream = + WW8DocumentFactory::createStream(xContext, xStream); - pDocument = WW8DocumentFactory::createDocument(pStream); - } - catch (doctok::Exception e) - { - clog << "Exception!!" << endl; - } + pDocument = WW8Document::Pointer_t(WW8DocumentFactory::createDocument(pStream)); + } + catch (::writerfilter::Exception e) + { + clog << "Exception!!" << endl; + } - CPPUNIT_ASSERT_MESSAGE("creating document failed", - pDocument != NULL); + ASSERT_TRUE(pDocument != NULL) << "creating document failed"; #if 1 - } + } - void testTraversal() - { + TEST_F(test, testTraversal) + { #endif - sal_uInt32 nResult = 0; - - try - { - WW8DocumentIterator::Pointer_t pIt = pDocument->begin(); - WW8DocumentIterator::Pointer_t pItEnd = pDocument->end(); + sal_uInt32 nResult = 0; - while (! pIt->equal(*pItEnd)) - { - pIt->dump(clog); - - clog << endl; + try + { + WW8DocumentIterator::Pointer_t pIt = pDocument->begin(); + WW8DocumentIterator::Pointer_t pItEnd = pDocument->end(); - WW8PropertySet::Pointer_t pAttrs = pIt->getProperties(); + while (! pIt->equal(*pItEnd)) + { + pIt->dump(clog); - if (pAttrs != NULL) - { - pAttrs->dump(clog); - } + clog << endl; - pIt->getText().dump(clog); - ++(*pIt); - ++nResult; - } - } - catch (doctok::Exception e) - { - clog << "Exception!!" << endl; +// Doesn't compile: +// WW8PropertySet::Pointer_t pAttrs = pIt->getProperties(); +// +// if (pAttrs != NULL) +// { +// pAttrs->dump(clog); +// } + + pIt->getText().dump(clog); + ++(*pIt); + ++nResult; } + } + catch (::writerfilter::Exception e) + { + clog << "Exception!!" << endl; + } - char sBuffer[256]; - snprintf(sBuffer, 255, "%d", nResult); - clog << "Iterator steps:" << sBuffer << endl; + char sBuffer[256]; + snprintf(sBuffer, 255, "%d", nResult); + clog << "Iterator steps:" << sBuffer << endl; - CPPUNIT_ASSERT_MESSAGE("traversing document failed", - nResult > 0); - } + ASSERT_TRUE(nResult > 0) << "traversing document failed"; + } - void testEvents() + TEST_F(test, testEvents) + { + try { - try - { - Stream::Pointer_t pStream = doctok::createStreamHandler(); + ::writerfilter::Stream::Pointer_t pStream = ::writerfilter::createStreamHandler(); - pDocument->resolve(*pStream); - } - catch (doctok::Exception e) - { - clog << "Exception!!" << endl; - } + pDocument->resolve(*pStream); } - - void testEnd() + catch (::writerfilter::Exception e) { - ::ucb::ContentBroker::deinitialize(); + 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. - - 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 + TEST_F(test, testEnd) + { + ::ucbhelper::ContentBroker::deinitialize(); + } -// ----------------------------------------------------------------------------- +} // namespace doctok -// 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; +int main(int argc, char **argv) +{ + osl_setCommandArgs(argc, argv); + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits