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>
This commit is contained in:
Xisco Fauli
2020-12-15 22:10:59 +01:00
parent 8bd229c4e4
commit 2ecdaa672b
2 changed files with 29 additions and 0 deletions

View File

@@ -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();

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB