summaryrefslogtreecommitdiff
path: root/sw/qa
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-11-01 13:12:21 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-11-01 13:14:09 +0000
commitc2913591d895666c7b8019e3307355511a7a5f95 (patch)
treef782e6cee3de6fba62e8c3b62d88fd52d85c227c /sw/qa
parent2ffd82c350efb7d04ea0019fc1845f314940f995 (diff)
rework filters test to squeeze through extra flags
that are needed to load .odt, .sxw etc files, and add a regression test for CVE-2012-4233 Change-Id: Ie178725ded3d76942030d12f23074de519cf62de
Diffstat (limited to 'sw/qa')
-rw-r--r--sw/qa/core/data/odt/fail/.gitignore0
-rw-r--r--sw/qa/core/data/odt/indeterminate/.gitignore0
-rw-r--r--sw/qa/core/data/odt/pass/.gitignore0
-rw-r--r--sw/qa/core/data/odt/pass/CVE-2012-4233-1.odtbin0 -> 9021 bytes
-rw-r--r--sw/qa/core/filters-test.cxx24
5 files changed, 18 insertions, 6 deletions
diff --git a/sw/qa/core/data/odt/fail/.gitignore b/sw/qa/core/data/odt/fail/.gitignore
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/sw/qa/core/data/odt/fail/.gitignore
diff --git a/sw/qa/core/data/odt/indeterminate/.gitignore b/sw/qa/core/data/odt/indeterminate/.gitignore
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/sw/qa/core/data/odt/indeterminate/.gitignore
diff --git a/sw/qa/core/data/odt/pass/.gitignore b/sw/qa/core/data/odt/pass/.gitignore
new file mode 100644
index 000000000000..e69de29bb2d1
--- /dev/null
+++ b/sw/qa/core/data/odt/pass/.gitignore
diff --git a/sw/qa/core/data/odt/pass/CVE-2012-4233-1.odt b/sw/qa/core/data/odt/pass/CVE-2012-4233-1.odt
new file mode 100644
index 000000000000..9d3c3dc97f84
--- /dev/null
+++ b/sw/qa/core/data/odt/pass/CVE-2012-4233-1.odt
Binary files differ
diff --git a/sw/qa/core/filters-test.cxx b/sw/qa/core/filters-test.cxx
index 4df9b0760c65..46a1af6a26ad 100644
--- a/sw/qa/core/filters-test.cxx
+++ b/sw/qa/core/filters-test.cxx
@@ -62,7 +62,9 @@ class SwFiltersTest
, public test::BootstrapFixture
{
public:
- bool load(const rtl::OUString &rFilter, const rtl::OUString &rURL, const rtl::OUString &rUserData);
+ virtual bool load( const rtl::OUString &rFilter, const rtl::OUString &rURL,
+ const rtl::OUString &rUserData, unsigned int nFilterFlags,
+ unsigned int nClipboardID, unsigned int nFilterVersion);
virtual void setUp();
// Ensure CVEs remain unbroken
@@ -77,12 +79,14 @@ private:
};
bool SwFiltersTest::load(const rtl::OUString &rFilter, const rtl::OUString &rURL,
- const rtl::OUString &rUserData)
+ const rtl::OUString &rUserData, unsigned int nFilterFlags,
+ unsigned int nClipboardID, unsigned int nFilterVersion)
{
SfxFilter* pFilter = new SfxFilter(
- rFilter,
- rtl::OUString(), 0, 0, rtl::OUString(), 0, rtl::OUString(),
- rUserData, rtl::OUString() );
+ rFilter, rtl::OUString(), nFilterFlags,
+ nClipboardID, rtl::OUString(), 0, rtl::OUString(),
+ rUserData, rtl::OUString());
+ pFilter->SetVersion(nFilterVersion);
SwDocShellRef xDocShRef = new SwDocShell;
SfxMedium* pSrcMed = new SfxMedium(rURL, STREAM_STD_READ);
@@ -104,7 +108,15 @@ void SwFiltersTest::testCVEs()
{
testDir(rtl::OUString("Staroffice XML (Writer)"),
getURLFromSrc("/sw/qa/core/data/xml/"),
- rtl::OUString(FILTER_XML));
+ rtl::OUString(FILTER_XML),
+ SFX_FILTER_IMPORT | SFX_FILTER_OWN | SFX_FILTER_DEFAULT,
+ -1, SOFFICE_FILEFORMAT_CURRENT);
+
+ testDir(rtl::OUString("writer8"),
+ getURLFromSrc("/sw/qa/core/data/odt/"),
+ rtl::OUString(FILTER_XML),
+ SFX_FILTER_IMPORT | SFX_FILTER_OWN | SFX_FILTER_DEFAULT,
+ -1, SOFFICE_FILEFORMAT_CURRENT);
testDir(rtl::OUString("MS Word 97"),
getURLFromSrc("/sw/qa/core/data/ww8/"),