diff options
author | Caolán McNamara <caolanm@redhat.com> | 2011-09-30 12:39:08 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2011-09-30 12:39:35 +0100 |
commit | 4a5745503c2bf5d66f83995d90fd51e07b0b0e70 (patch) | |
tree | 77aeeb890888d67d7f89b0c5dd626213a7d1a4c3 /writerfilter | |
parent | ebbfc7ea4aea33f79edbb6c989d598f5cbda3854 (diff) |
merge filters-test code
Diffstat (limited to 'writerfilter')
-rw-r--r-- | writerfilter/CppunitTest_writerfilter_rtftok.mk | 1 | ||||
-rw-r--r-- | writerfilter/prj/build.lst | 2 | ||||
-rw-r--r-- | writerfilter/qa/cppunittests/rtftok/testrtftok.cxx | 129 |
3 files changed, 10 insertions, 122 deletions
diff --git a/writerfilter/CppunitTest_writerfilter_rtftok.mk b/writerfilter/CppunitTest_writerfilter_rtftok.mk index a6077fc0dbf7..ed23c47fd4bb 100644 --- a/writerfilter/CppunitTest_writerfilter_rtftok.mk +++ b/writerfilter/CppunitTest_writerfilter_rtftok.mk @@ -35,6 +35,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,writerfilter_rtftok, \ )) $(eval $(call gb_CppunitTest_add_linked_libs,writerfilter_rtftok, \ + test \ comphelper \ cppu \ cppuhelper \ diff --git a/writerfilter/prj/build.lst b/writerfilter/prj/build.lst index 0553bc3e082f..3005e9636218 100644 --- a/writerfilter/prj/build.lst +++ b/writerfilter/prj/build.lst @@ -1,3 +1,3 @@ -wf writerfilter : soltools sal BOOST:boost cppu cppuhelper ucbhelper tools svx LIBXSLT:libxslt oox NULL +wf writerfilter : soltools sal BOOST:boost cppu cppuhelper ucbhelper tools svx LIBXSLT:libxslt oox test NULL wf writerfilter usr1 - all wf_mkout NULL wf writerfilter\prj nmake - all wf_prj NULL diff --git a/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx b/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx index 64e2faef8377..d95728fe1e7a 100644 --- a/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx +++ b/writerfilter/qa/cppunittests/rtftok/testrtftok.cxx @@ -26,162 +26,49 @@ * instead of those above. */ -#include "sal/config.h" -#include "sal/precppunit.hxx" - -#include "cppunit/TestAssert.h" -#include "cppunit/TestFixture.h" -#include "cppunit/extensions/HelperMacros.h" -#include "cppunit/plugin/TestPlugIn.h" - -#include <cppuhelper/bootstrap.hxx> -#include <comphelper/processfactory.hxx> - -#include <com/sun/star/lang/XMultiComponentFactory.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <test/filters-test.hxx> #include <com/sun/star/document/XFilter.hpp> #include <osl/file.hxx> #include <osl/process.h> -#include <vcl/svapp.hxx> -#include <ucbhelper/contentbroker.hxx> - using namespace ::com::sun::star; -const int indeterminate = 2; - -class RtfTest : public CppUnit::TestFixture +class RtfTest : public test::FiltersTest { public: RtfTest(); - ~RtfTest(); - - virtual void setUp(); - virtual void tearDown(); - void recursiveScan(const rtl::OUString &rURL, int nExpected); - bool load(const rtl::OUString &rURL); + virtual bool load(const rtl::OUString &, const rtl::OUString &rURL, const rtl::OUString &); void test(); CPPUNIT_TEST_SUITE(RtfTest); CPPUNIT_TEST(test); CPPUNIT_TEST_SUITE_END(); private: - uno::Reference<uno::XComponentContext> m_xContext; - uno::Reference<lang::XMultiComponentFactory> m_xFactory; - uno::Reference<lang::XMultiServiceFactory> m_xMSF; uno::Reference<document::XFilter> m_xFilter; - - ::rtl::OUString m_aSrcRoot; - int m_nLoadedDocs; }; RtfTest::RtfTest() - : m_aSrcRoot(RTL_CONSTASCII_USTRINGPARAM("file://")), - m_nLoadedDocs(0) { - m_xContext = cppu::defaultBootstrap_InitialComponentContext(); - m_xFactory = m_xContext->getServiceManager(); - m_xMSF = uno::Reference<lang::XMultiServiceFactory>(m_xFactory, uno::UNO_QUERY_THROW); - m_xFilter = uno::Reference< document::XFilter >(m_xMSF->createInstance( + m_xFilter = uno::Reference< document::XFilter >(m_xSFactory->createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.Writer.RtfFilter"))), uno::UNO_QUERY_THROW); - - const char* pSrcRoot = getenv( "SRC_ROOT" ); - CPPUNIT_ASSERT_MESSAGE("SRC_ROOT env variable not set", pSrcRoot != NULL && pSrcRoot[0] != 0); - -#ifdef WNT - if (pSrcRoot[1] == ':') - m_aSrcRoot += rtl::OUString::createFromAscii( "/" ); -#endif - m_aSrcRoot += rtl::OUString::createFromAscii( pSrcRoot ); - - // Without these we're crashing - comphelper::setProcessServiceFactory(m_xMSF); - InitVCL(m_xMSF); - - // initialise UCB-Broker - uno::Sequence<uno::Any> aUcbInitSequence(2); - aUcbInitSequence[0] <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Local")); - aUcbInitSequence[1] <<= rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Office")); - bool bInitUcb = ucbhelper::ContentBroker::initialize(m_xMSF, aUcbInitSequence); - CPPUNIT_ASSERT_MESSAGE("Should be able to initialize UCB", bInitUcb); - - uno::Reference<ucb::XContentProviderManager> xUcb = - ucbhelper::ContentBroker::get()->getContentProviderManagerInterface(); - uno::Reference<ucb::XContentProvider> xFileProvider(m_xMSF->createInstance( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ucb.FileContentProvider"))), uno::UNO_QUERY); - xUcb->registerContentProvider(xFileProvider, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("file")), sal_True); } -RtfTest::~RtfTest() +bool RtfTest::load(const rtl::OUString &, const rtl::OUString &rURL, const rtl::OUString &) { - DeInitVCL(); -} - -void RtfTest::setUp() -{ -} - -void RtfTest::tearDown() -{ -} - -bool RtfTest::load(const rtl::OUString &rURL) -{ - ++m_nLoadedDocs; uno::Sequence< beans::PropertyValue > aDescriptor(1); aDescriptor[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("URL")); aDescriptor[0].Value <<= rURL; return m_xFilter->filter(aDescriptor); } -void RtfTest::recursiveScan(const rtl::OUString &rURL, int nExpected) -{ - osl::Directory aDir(rURL); - - CPPUNIT_ASSERT_MESSAGE("failed to open directory", osl::FileBase::E_None == aDir.open()); - osl::DirectoryItem aItem; - osl::FileStatus aFileStatus(osl_FileStatus_Mask_FileURL|osl_FileStatus_Mask_Type); - while (aDir.getNextItem(aItem) == osl::FileBase::E_None) - { - aItem.getFileStatus(aFileStatus); - rtl::OUString sURL = aFileStatus.getFileURL(); - if (aFileStatus.getFileType() == osl::FileStatus::Directory) - recursiveScan(sURL, nExpected); - else - { - //ignore .files - sal_Int32 nLastSlash = sURL.lastIndexOf('/'); - if ((nLastSlash != -1) && (nLastSlash+1 < sURL.getLength()) && - (sURL.getStr()[nLastSlash+1] == '.')) - continue; - - rtl::OString aRes(rtl::OUStringToOString(sURL, osl_getThreadTextEncoding())); - if (nExpected == indeterminate) - printf("loading %s\n", aRes.getStr()); - sal_uInt32 nStartTime = osl_getGlobalTimer(); - bool bRes = load(sURL); - sal_uInt32 nEndTime = osl_getGlobalTimer(); - if (nExpected == indeterminate) - { - printf("pass/fail was %d (%"SAL_PRIuUINT32" ms)\n", bRes, nEndTime-nStartTime); - continue; - } - CPPUNIT_ASSERT_MESSAGE(aRes.getStr(), bRes == nExpected); - } - } - CPPUNIT_ASSERT_MESSAGE("failed to close directory", osl::FileBase::E_None == aDir.close()); -} - void RtfTest::test() { - recursiveScan(m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/writerfilter/qa/cppunittests/rtftok/data/pass")), true); - recursiveScan(m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/writerfilter/qa/cppunittests/rtftok/data/fail")), false); - recursiveScan(m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/writerfilter/qa/cppunittests/rtftok/data/indeterminate")), indeterminate); - - printf("Rtf: tested %d files\n", m_nLoadedDocs); + testDir(rtl::OUString(), + getURLFromSrc("/writerfilter/qa/cppunittests/rtftok/data/"), + rtl::OUString()); } CPPUNIT_TEST_SUITE_REGISTRATION(RtfTest); |