summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2020-12-17 21:48:07 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2020-12-18 09:46:58 +0100
commite57665ea6f812aff9fc87073ce947f40a8b26e9d (patch)
treed5a22b6445c5aef11a83cc9c6609fcafd3ad1db2 /filter
parent6c1e6b188eeb5868cafe3f1605f4213d627a452c (diff)
tdf#115863: libtest_filter_tiff: Add unittest
Change-Id: I4877005287181189c4210052ab57ada876ae2e90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107926 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'filter')
-rw-r--r--filter/qa/cppunit/data/tiff/tdf115863.tifbin0 -> 40962 bytes
-rw-r--r--filter/qa/cppunit/filters-tiff-test.cxx31
2 files changed, 30 insertions, 1 deletions
diff --git a/filter/qa/cppunit/data/tiff/tdf115863.tif b/filter/qa/cppunit/data/tiff/tdf115863.tif
new file mode 100644
index 000000000000..b5e2dd9e4bcd
--- /dev/null
+++ b/filter/qa/cppunit/data/tiff/tdf115863.tif
Binary files differ
diff --git a/filter/qa/cppunit/filters-tiff-test.cxx b/filter/qa/cppunit/filters-tiff-test.cxx
index 8d8fba03caf1..0dd5e4f82354 100644
--- a/filter/qa/cppunit/filters-tiff-test.cxx
+++ b/filter/qa/cppunit/filters-tiff-test.cxx
@@ -12,6 +12,7 @@
#include <vcl/FilterConfigItem.hxx>
#include <tools/stream.hxx>
#include <vcl/graph.hxx>
+#include <vcl/graphicfilter.hxx>
extern "C"
{
@@ -35,13 +36,20 @@ public:
const OUString &rURL, const OUString &,
SfxFilterFlags, SotClipboardFormatId, unsigned int) override;
+ OUString getUrl()
+ {
+ return m_directories.getURLFromSrc("/filter/qa/cppunit/data/tiff/");
+ }
+
/**
* Ensure CVEs remain unbroken
*/
void testCVEs();
+ void testTdf115863();
CPPUNIT_TEST_SUITE(TiffFilterTest);
CPPUNIT_TEST(testCVEs);
+ CPPUNIT_TEST(testTdf115863);
CPPUNIT_TEST_SUITE_END();
};
@@ -57,7 +65,28 @@ bool TiffFilterTest::load(const OUString &,
void TiffFilterTest::testCVEs()
{
testDir(OUString(),
- m_directories.getURLFromSrc("/filter/qa/cppunit/data/tiff/"));
+ getUrl());
+}
+
+void TiffFilterTest::testTdf115863()
+{
+ OUString aURL = getUrl() + "tdf115863.tif";
+ SvFileStream aFileStream(aURL, StreamMode::READ);
+ Graphic aGraphic;
+ GraphicFilter& rFilter = GraphicFilter::GetGraphicFilter();
+
+ ErrCode bResult = rFilter.ImportGraphic(aGraphic, aURL, aFileStream);
+
+ // Without the fix in place, this test would have failed with
+ // - Expected: 0x0(Error Area:Io Class:NONE Code:0)
+ // - Actual : 0x8203(Error Area:Vcl Class:General Code:3)
+ CPPUNIT_ASSERT_EQUAL(ERRCODE_NONE, bResult);
+
+ Bitmap aBitmap = aGraphic.GetBitmapEx().GetBitmap();
+ Size aSize = aBitmap.GetSizePixel();
+ CPPUNIT_ASSERT_EQUAL(tools::Long(528), aSize.Width());
+ CPPUNIT_ASSERT_EQUAL(tools::Long(618), aSize.Height());
+
}
CPPUNIT_TEST_SUITE_REGISTRATION(TiffFilterTest);