summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2016-11-08 19:15:23 +0100
committerTomaž Vajngerl <quikee@gmail.com>2016-11-09 20:33:38 +0000
commit7446faec4e319afaf2f0b043c45ed0df6d1885dd (patch)
tree488e3fa446a67c939a1e61213cd89ec562d5151b /vcl
parentdb877a15d98b0ea6875d8150ce43bf7fa82610bf (diff)
vcl: non-symetric image to test JPEG import
Previously we used a symetric image to test JPEG import. This has the flaw that we doesn't warn if the orientation of the JPEG image was not correct. This commit fixes this flaw by making all test images non-symetrical. Change-Id: If87d257ae44d85b6a9042d09d62ba785ffc5c426 Reviewed-on: https://gerrit.libreoffice.org/30709 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/qa/cppunit/jpeg/JpegReaderTest.cxx57
-rw-r--r--vcl/qa/cppunit/jpeg/data/JPEGTestCMYK.jpegbin362 -> 405 bytes
-rw-r--r--vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpegbin186 -> 196 bytes
-rw-r--r--vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpegbin606 -> 619 bytes
4 files changed, 29 insertions, 28 deletions
diff --git a/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx b/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx
index 99d78e395fcb..8fcba6ee929e 100644
--- a/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx
+++ b/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx
@@ -49,11 +49,12 @@ int deltaColor(BitmapColor aColor1, BitmapColor aColor2)
return std::max(std::max(deltaR, deltaG), deltaB);
}
-bool checkRect(Bitmap& rBitmap, int aLayerNumber, Color aExpectedColor, int nMaxDelta)
+bool checkRect(Bitmap& rBitmap, int aLayerNumber, long nAreaHeight, long nAreaWidth, Color aExpectedColor, int nMaxDelta)
{
Bitmap::ScopedWriteAccess pAccess(rBitmap);
- long nHeight = pAccess->Height();
- long nWidth = pAccess->Width();
+
+ long nWidth = std::min(nAreaWidth, pAccess->Width());
+ long nHeight = std::min(nAreaHeight, pAccess->Height());
long firstX = 0 + aLayerNumber;
long firstY = 0 + aLayerNumber;
@@ -65,24 +66,24 @@ bool checkRect(Bitmap& rBitmap, int aLayerNumber, Color aExpectedColor, int nMax
for (long y = firstY; y <= lastY; y++)
{
- Color aColorFirst = pAccess->GetPixel(firstX, y);
+ Color aColorFirst = pAccess->GetPixel(y, firstX);
delta = deltaColor(aColorFirst, aExpectedColor);
if (delta > nMaxDelta)
return false;
- Color aColorLast = pAccess->GetPixel(lastX, y);
+ Color aColorLast = pAccess->GetPixel(y, lastX);
delta = deltaColor(aColorLast, aExpectedColor);
if (delta > nMaxDelta)
return false;
}
for (long x = firstX; x <= lastX; x++)
{
- Color aColorFirst = pAccess->GetPixel(x, firstY);
+ Color aColorFirst = pAccess->GetPixel(firstY, x);
delta = deltaColor(aColorFirst, aExpectedColor);
if (delta > nMaxDelta)
return false;
- Color aColorLast = pAccess->GetPixel(x, lastY);
+ Color aColorLast = pAccess->GetPixel(lastY, x);
delta = deltaColor(aColorLast, aExpectedColor);
if (delta > nMaxDelta)
return false;
@@ -104,44 +105,44 @@ void JpegReaderTest::testReadRGB()
{
Bitmap aBitmap = loadJPG(getFullUrl("JPEGTestRGB.jpeg"));
Size aSize = aBitmap.GetSizePixel();
- CPPUNIT_ASSERT_EQUAL(8L, aSize.Width());
- CPPUNIT_ASSERT_EQUAL(8L, aSize.Height());
+ CPPUNIT_ASSERT_EQUAL(12L, aSize.Width());
+ CPPUNIT_ASSERT_EQUAL(12L, aSize.Height());
int nMaxDelta = 1; // still acceptable color error
- CPPUNIT_ASSERT(checkRect(aBitmap, 0, Color(0xff, 0xff, 0xff), nMaxDelta));
- CPPUNIT_ASSERT(checkRect(aBitmap, 1, Color(0xff, 0x00, 0x00), nMaxDelta));
- CPPUNIT_ASSERT(checkRect(aBitmap, 2, Color(0x00, 0xff, 0x00), nMaxDelta));
- CPPUNIT_ASSERT(checkRect(aBitmap, 3, Color(0x00, 0x00, 0xff), nMaxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 0, 8, 8, Color(0xff, 0xff, 0xff), nMaxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 1, 8, 8, Color(0xff, 0x00, 0x00), nMaxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 2, 8, 8, Color(0x00, 0xff, 0x00), nMaxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 3, 8, 8, Color(0x00, 0x00, 0xff), nMaxDelta));
}
void JpegReaderTest::testReadGray()
{
Bitmap aBitmap = loadJPG(getFullUrl("JPEGTestGray.jpeg"));
Size aSize = aBitmap.GetSizePixel();
- CPPUNIT_ASSERT_EQUAL(8L, aSize.Width());
- CPPUNIT_ASSERT_EQUAL(8L, aSize.Height());
+ CPPUNIT_ASSERT_EQUAL(12L, aSize.Width());
+ CPPUNIT_ASSERT_EQUAL(12L, aSize.Height());
aBitmap.Convert(BmpConversion::BMP_CONVERSION_24BIT); // convert to 24bit so we don't need to deal with palette
- int nMaxDelta = 3;
- CPPUNIT_ASSERT(checkRect(aBitmap, 0, Color(0xff, 0xff, 0xff), nMaxDelta));
- CPPUNIT_ASSERT(checkRect(aBitmap, 1, Color(0x36, 0x36, 0x36), nMaxDelta));
- CPPUNIT_ASSERT(checkRect(aBitmap, 2, Color(0xb6, 0xb6, 0xb6), nMaxDelta));
- CPPUNIT_ASSERT(checkRect(aBitmap, 3, Color(0x12, 0x12, 0x12), nMaxDelta));
+ int nMaxDelta = 1;
+ CPPUNIT_ASSERT(checkRect(aBitmap, 0, 8, 8, Color(0xff, 0xff, 0xff), nMaxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 1, 8, 8, Color(0x36, 0x36, 0x36), nMaxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 2, 8, 8, Color(0xb6, 0xb6, 0xb6), nMaxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 3, 8, 8, Color(0x12, 0x12, 0x12), nMaxDelta));
}
void JpegReaderTest::testReadCMYK()
{
Bitmap aBitmap = loadJPG(getFullUrl("JPEGTestCMYK.jpeg"));
Size aSize = aBitmap.GetSizePixel();
- CPPUNIT_ASSERT_EQUAL(8L, aSize.Width());
- CPPUNIT_ASSERT_EQUAL(8L, aSize.Height());
-
- int maxDelta = 7;
- CPPUNIT_ASSERT(checkRect(aBitmap, 0, Color(0xff, 0xff, 0xff), maxDelta));
- CPPUNIT_ASSERT(checkRect(aBitmap, 1, Color(0xff, 0x00, 0x00), maxDelta));
- CPPUNIT_ASSERT(checkRect(aBitmap, 2, Color(0x00, 0xff, 0x00), maxDelta));
- CPPUNIT_ASSERT(checkRect(aBitmap, 3, Color(0x00, 0x00, 0xff), maxDelta));
+ CPPUNIT_ASSERT_EQUAL(12L, aSize.Width());
+ CPPUNIT_ASSERT_EQUAL(12L, aSize.Height());
+
+ int maxDelta = 1;
+ CPPUNIT_ASSERT(checkRect(aBitmap, 0, 8, 8, Color(0xff, 0xff, 0xff), maxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 1, 8, 8, Color(0xff, 0x00, 0x00), maxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 2, 8, 8, Color(0x00, 0xff, 0x00), maxDelta));
+ CPPUNIT_ASSERT(checkRect(aBitmap, 3, 8, 8, Color(0x00, 0x00, 0xff), maxDelta));
}
CPPUNIT_TEST_SUITE_REGISTRATION(JpegReaderTest);
diff --git a/vcl/qa/cppunit/jpeg/data/JPEGTestCMYK.jpeg b/vcl/qa/cppunit/jpeg/data/JPEGTestCMYK.jpeg
index 5fc0c84f6c08..81cca025ea1e 100644
--- a/vcl/qa/cppunit/jpeg/data/JPEGTestCMYK.jpeg
+++ b/vcl/qa/cppunit/jpeg/data/JPEGTestCMYK.jpeg
Binary files differ
diff --git a/vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpeg b/vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpeg
index 2836dd9393ba..014825f42e4e 100644
--- a/vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpeg
+++ b/vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpeg
Binary files differ
diff --git a/vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpeg b/vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpeg
index 8d51035af171..3cfe1dda25c1 100644
--- a/vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpeg
+++ b/vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpeg
Binary files differ