summaryrefslogtreecommitdiff
path: root/hwpfilter/qa
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 /hwpfilter/qa
parentebbfc7ea4aea33f79edbb6c989d598f5cbda3854 (diff)
merge filters-test code
Diffstat (limited to 'hwpfilter/qa')
-rw-r--r--hwpfilter/qa/cppunit/data/indeterminate/.gitignore0
-rw-r--r--hwpfilter/qa/cppunit/test_hwpfilter.cxx117
2 files changed, 13 insertions, 104 deletions
diff --git a/hwpfilter/qa/cppunit/data/indeterminate/.gitignore b/hwpfilter/qa/cppunit/data/indeterminate/.gitignore
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/hwpfilter/qa/cppunit/data/indeterminate/.gitignore
diff --git a/hwpfilter/qa/cppunit/test_hwpfilter.cxx b/hwpfilter/qa/cppunit/test_hwpfilter.cxx
index b0666e6a5863..a0451ed63ea8 100644
--- a/hwpfilter/qa/cppunit/test_hwpfilter.cxx
+++ b/hwpfilter/qa/cppunit/test_hwpfilter.cxx
@@ -26,147 +26,56 @@
* 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 <osl/thread.h>
-#include <ucbhelper/contentbroker.hxx>
-
using namespace ::com::sun::star;
namespace
{
- class HwpFilterTest : public ::CppUnit::TestFixture
+ class HwpFilterTest : public test::FiltersTest
{
public:
HwpFilterTest();
- ~HwpFilterTest();
- virtual void setUp();
- virtual void tearDown();
+ virtual bool load(const rtl::OUString &, const rtl::OUString &rURL, const rtl::OUString &);
- void recursiveScan(const rtl::OUString &rURL, bool bExpected);
- bool load(const rtl::OUString &rURL);
void test();
CPPUNIT_TEST_SUITE(HwpFilterTest);
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;
};
- HwpFilterTest::HwpFilterTest() : m_aSrcRoot( RTL_CONSTASCII_USTRINGPARAM( "file://" ) ), m_nLoadedDocs(0)
+ HwpFilterTest::HwpFilterTest()
{
- 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(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.comp.hwpimport.HwpImportFilter"))),
+ m_xFilter = uno::Reference< document::XFilter >(m_xSFactory->createInstance(
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
+ "com.sun.comp.hwpimport.HwpImportFilter"))),
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 this we're crashing because callees are using
- //getProcessServiceFactory. In general those should be removed in favour
- //of retaining references to the root ServiceFactory as its passed around
- comphelper::setProcessServiceFactory(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);
- }
-
- HwpFilterTest::~HwpFilterTest()
- {
}
- void HwpFilterTest::setUp()
- {
- }
-
- void HwpFilterTest::tearDown()
- {
- }
-
- bool HwpFilterTest::load(const rtl::OUString &rURL)
+ bool HwpFilterTest::load(const rtl::OUString &,
+ const rtl::OUString &rURL, const rtl::OUString &)
{
uno::Sequence< beans::PropertyValue > aDescriptor(1);
aDescriptor[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("URL"));
aDescriptor[0].Value <<= rURL;
- sal_Bool bRet = m_xFilter->filter(aDescriptor);
-
- ++m_nLoadedDocs;
-
- return bRet;
- }
-
- void HwpFilterTest::recursiveScan(const rtl::OUString &rURL, bool bExpected)
- {
- osl::Directory aDir(rURL);
-
- CPPUNIT_ASSERT(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, bExpected);
- else
- {
- bool bRes = load(sURL);
- rtl::OString aRes(rtl::OUStringToOString(sURL, osl_getThreadTextEncoding()));
- CPPUNIT_ASSERT_MESSAGE(aRes.getStr(), bRes == bExpected);
- }
- }
- CPPUNIT_ASSERT(osl::FileBase::E_None == aDir.close());
+ return m_xFilter->filter(aDescriptor);
}
void HwpFilterTest::test()
{
- recursiveScan(m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/hwpfilter/qa/cppunit/data/pass")), true);
- recursiveScan(m_aSrcRoot + rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/hwpfilter/qa/cppunit/data/fail/")), false);
-
- printf("HwpFilter: tested %d files\n", m_nLoadedDocs);
+ testDir(rtl::OUString(),
+ getURLFromSrc("/hwpfilter/qa/cppunit/data/"),
+ rtl::OUString());
}
CPPUNIT_TEST_SUITE_REGISTRATION(HwpFilterTest);