[Libreoffice-commits] core.git: vcl/qa

Tomaž Vajngerl tomaz.vajngerl at collabora.co.uk
Wed Nov 9 20:34:00 UTC 2016


 vcl/qa/cppunit/jpeg/JpegReaderTest.cxx     |   57 ++++++++++++++---------------
 vcl/qa/cppunit/jpeg/data/JPEGTestCMYK.jpeg |binary
 vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpeg |binary
 vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpeg  |binary
 4 files changed, 29 insertions(+), 28 deletions(-)

New commits:
commit 7446faec4e319afaf2f0b043c45ed0df6d1885dd
Author: Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
Date:   Tue Nov 8 19:15:23 2016 +0100

    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 at libreoffice.org>
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx b/vcl/qa/cppunit/jpeg/JpegReaderTest.cxx
index 99d78e3..8fcba6e 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 5fc0c84..81cca02 100644
Binary files a/vcl/qa/cppunit/jpeg/data/JPEGTestCMYK.jpeg and b/vcl/qa/cppunit/jpeg/data/JPEGTestCMYK.jpeg differ
diff --git a/vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpeg b/vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpeg
index 2836dd9..014825f 100644
Binary files a/vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpeg and b/vcl/qa/cppunit/jpeg/data/JPEGTestGray.jpeg differ
diff --git a/vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpeg b/vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpeg
index 8d51035..3cfe1dd 100644
Binary files a/vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpeg and b/vcl/qa/cppunit/jpeg/data/JPEGTestRGB.jpeg differ


More information about the Libreoffice-commits mailing list