Author: damjan Date: Thu Oct 15 01:13:18 2015 New Revision: 1708720 URL: http://svn.apache.org/viewvc?rev=1708720&view=rev Log: #i125003# migrate writerfilter/qa/cppunittests/doctok from cppunit to Google Test. Fails to bootstrap UNO but isn't run during the build.
Removed: openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/export.map Modified: openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/makefile.mk openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/testdoctok.cxx Modified: openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/makefile.mk URL: http://svn.apache.org/viewvc/openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/makefile.mk?rev=1708720&r1=1708719&r2=1708720&view=diff ============================================================================== --- openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/makefile.mk (original) +++ openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/makefile.mk Thu Oct 15 01:13:18 2015 @@ -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" Modified: openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/testdoctok.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/testdoctok.cxx?rev=1708720&r1=1708719&r2=1708720&view=diff ============================================================================== --- openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/testdoctok.cxx (original) +++ openoffice/trunk/main/writerfilter/qa/cppunittests/doctok/testdoctok.cxx Thu Oct 15 01:13:18 2015 @@ -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; - - // initialise UCB-Broker - uno::Reference<uno::XComponentContext> - xComponentContext - (::cppu::defaultBootstrap_InitialComponentContext()); - OSL_ASSERT( xComponentContext.is() ); - - xContext = xComponentContext; - - 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::Reference<lang::XMultiServiceFactory> - xServiceFactory(xFactory, uno::UNO_QUERY); - OSL_ASSERT( xServiceFactory.is() ); + TEST_F(test, testInitUno) + { + bool bResult = false; - if (xServiceFactory.is()) - { - sal_Bool bRet = - ::ucb::ContentBroker::initialize(xServiceFactory, - aUcbInitSequence); + // initialise UCB-Broker + uno::Reference<uno::XComponentContext> + xComponentContext + (::cppu::defaultBootstrap_InitialComponentContext()); + OSL_ASSERT( xComponentContext.is() ); + + xContext = xComponentContext; + + 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::Reference<lang::XMultiServiceFactory> + xServiceFactory(xFactory, uno::UNO_QUERY); + OSL_ASSERT( xServiceFactory.is() ); + + if (xServiceFactory.is()) + { + sal_Bool bRet = + ::ucbhelper::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 ); - 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; + xSimpleFileAccess = xNameContainer; - bResult = true; - } + 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_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 ); + rtl::OUString sInputFileURL( absfile ); - for (sal_uInt32 n = 0; n < sInputFileURL.getLength(); ++n) - { - sal_uChar nC = sInputFileURL[n]; + for (sal_uInt32 n = 0; n < sInputFileURL.getLength(); ++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); + try + { + WW8DocumentIterator::Pointer_t pIt = pDocument->begin(); + WW8DocumentIterator::Pointer_t pItEnd = pDocument->end(); - clog << endl; + while (! pIt->equal(*pItEnd)) + { + pIt->dump(clog); - WW8PropertySet::Pointer_t pAttrs = pIt->getProperties(); + clog << endl; - if (pAttrs != NULL) - { - pAttrs->dump(clog); - } +// Doesn't compile: +// WW8PropertySet::Pointer_t pAttrs = pIt->getProperties(); +// +// if (pAttrs != NULL) +// { +// pAttrs->dump(clog); +// } - pIt->getText().dump(clog); - ++(*pIt); - ++nResult; - } - } - catch (doctok::Exception e) - { - clog << "Exception!!" << endl; + 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(); +}