diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2021-12-21 14:31:34 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2021-12-21 17:04:51 +0100 |
commit | e519d7465f38367205b37bc80f0244029e352306 (patch) | |
tree | 6f5021fd07509609db3afec1fa5ee5f1f5f6ed1b /filter/qa | |
parent | c35f81148fb18ba070516edcbb4d614444899235 (diff) |
filter: try to detect 0-byte DOC files based on extension
Commit ae1f51b4888a3aa14837ac6e4083f33b2176ca45 (tdf#123476 filter: try
to detect 0-byte files based on extension, 2020-10-28), already
implemented this UNO-based import filters, do the same for built-in
filters as well.
Another problem in filter/ was to pick the WW6 filter for .doc --
require export+preferred support in the filter to get WW8 instead.
An additional filter that may kick in is MS Word 2003 XML: this is
avoided by requiring "preferred".
Change-Id: I46e280beb5341213b0fe7a09a549b52c0c1ea3f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127219
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'filter/qa')
-rw-r--r-- | filter/qa/unit/data/empty.doc | 0 | ||||
-rw-r--r-- | filter/qa/unit/textfilterdetect.cxx | 19 |
2 files changed, 19 insertions, 0 deletions
diff --git a/filter/qa/unit/data/empty.doc b/filter/qa/unit/data/empty.doc new file mode 100644 index 000000000000..e69de29bb2d1 --- /dev/null +++ b/filter/qa/unit/data/empty.doc diff --git a/filter/qa/unit/textfilterdetect.cxx b/filter/qa/unit/textfilterdetect.cxx index 95c2b7697159..62d0d60a23a7 100644 --- a/filter/qa/unit/textfilterdetect.cxx +++ b/filter/qa/unit/textfilterdetect.cxx @@ -112,6 +112,25 @@ CPPUNIT_TEST_FIXTURE(TextFilterDetectTest, testEmptyFile) // Writer instead. CPPUNIT_ASSERT(xServiceInfo->supportsService("com.sun.star.presentation.PresentationDocument")); getComponent()->dispose(); + + // ... and DOC + aURL = m_directories.getURLFromSrc(DATA_DIRECTORY) + "empty.doc"; + // Without the accompanying fix in place, this test would have failed, the import filter aborted + // loading. + getComponent() = loadFromDesktop(aURL); + xServiceInfo.set(getComponent(), uno::UNO_QUERY); + CPPUNIT_ASSERT(xServiceInfo.is()); + CPPUNIT_ASSERT(xServiceInfo->supportsService("com.sun.star.text.TextDocument")); + uno::Reference<frame::XModel> xModel(getComponent(), uno::UNO_QUERY); + uno::Sequence<beans::PropertyValue> aArgs = xModel->getArgs(); + comphelper::SequenceAsHashMap aMap(aArgs); + OUString aFilterName; + aMap["FilterName"] >>= aFilterName; + // Without the accompanying fix in place, this test would have failed with: + // - Expected: MS Word 97 + // - Actual : MS WinWord 6.0 + // i.e. opening worked, but saving back failed instead of producing a WW8 binary file. + CPPUNIT_ASSERT_EQUAL(OUString("MS Word 97"), aFilterName); } } |