diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2020-12-15 22:10:59 +0100 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2020-12-16 12:43:18 +0100 |
commit | 2ecdaa672b0362eb314afeea811c72cfa06bb20a (patch) | |
tree | 60a5cac2df7668fc3ea134b4c867778bbfdcacd7 | |
parent | 8bd229c4e42e92545db11832b29bf97540707c32 (diff) |
tdf#138950: vcl_jpeg_read_write: Add unittest
Change-Id: Ia1adcac3e10d1aa17281963d27718a37bf37b953
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107814
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r-- | vcl/qa/cppunit/jpeg/JpegReaderTest.cxx | 29 | ||||
-rw-r--r-- | vcl/qa/cppunit/jpeg/data/tdf138950.jpeg | bin | 0 -> 60662 bytes |
2 files changed, 29 insertions, 0 deletions
diff --git a/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx b/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx index 78124beef5f3..9c01583d1f8c 100644 --- a/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx +++ b/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx @@ -28,11 +28,13 @@ public: void testReadRGB(); void testReadGray(); void testReadCMYK(); + void testTdf138950(); CPPUNIT_TEST_SUITE(JpegReaderTest); CPPUNIT_TEST(testReadRGB); CPPUNIT_TEST(testReadGray); CPPUNIT_TEST(testReadCMYK); + CPPUNIT_TEST(testTdf138950); CPPUNIT_TEST_SUITE_END(); }; @@ -162,6 +164,33 @@ void JpegReaderTest::testReadCMYK() CPPUNIT_ASSERT_EQUAL(4, getNumberOfImageComponents(aGraphic)); } +void JpegReaderTest::testTdf138950() +{ + Graphic aGraphic = loadJPG(getFullUrl("tdf138950.jpeg")); + Bitmap aBitmap = aGraphic.GetBitmapEx().GetBitmap(); + Size aSize = aBitmap.GetSizePixel(); + CPPUNIT_ASSERT_EQUAL(tools::Long(720), aSize.Width()); + CPPUNIT_ASSERT_EQUAL(tools::Long(1280), aSize.Height()); + + Bitmap::ScopedReadAccess pReadAccess(aBitmap); + int nBlackCount = 0; + for (tools::Long nY = 0; nY < aSize.Height(); ++nY) + { + for (tools::Long nX = 0; nX < aSize.Width(); ++nX) + { + const Color aColor = pReadAccess->GetColor(nY, nX); + if ((aColor.GetRed() == 0x00) && (aColor.GetGreen() == 0x00) + && (aColor.GetBlue() == 0x00)) + ++nBlackCount; + } + } + + // Without the fix in place, this test would have failed with + // - Expected: 0 + // - Actual : 921600 + CPPUNIT_ASSERT_EQUAL(0, nBlackCount); +} + CPPUNIT_TEST_SUITE_REGISTRATION(JpegReaderTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/vcl/qa/cppunit/jpeg/data/tdf138950.jpeg b/vcl/qa/cppunit/jpeg/data/tdf138950.jpeg Binary files differnew file mode 100644 index 000000000000..d0296077c6bb --- /dev/null +++ b/vcl/qa/cppunit/jpeg/data/tdf138950.jpeg |