summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-09-30 12:39:08 +0100
committerCaolán McNamara <caolanm@redhat.com>2011-09-30 12:39:35 +0100
commit4a5745503c2bf5d66f83995d90fd51e07b0b0e70 (patch)
tree77aeeb890888d67d7f89b0c5dd626213a7d1a4c3 /writerfilter
parentebbfc7ea4aea33f79edbb6c989d598f5cbda3854 (diff)
merge filters-test code
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/CppunitTest_writerfilter_rtftok.mk1
-rw-r--r--writerfilter/prj/build.lst2
-rw-r--r--writerfilter/qa/cppunittests/rtftok/testrtftok.cxx129
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);