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

Tomaž Vajngerl (via logerrit) logerrit at kemper.freedesktop.org
Fri Mar 29 16:27:43 UTC 2019


 vcl/qa/cppunit/BitmapTest.cxx |   45 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

New commits:
commit bd77bd52929c313c27728c58edbb5b9e133dfc4f
Author:     Tomaž Vajngerl <tomaz.vajngerl at collabora.co.uk>
AuthorDate: Wed Mar 27 19:33:25 2019 +0900
Commit:     Tomaž Vajngerl <quikee at gmail.com>
CommitDate: Fri Mar 29 17:27:14 2019 +0100

    add bitmap test with a custom 8bit palette
    
    Change-Id: I83d7f1f28c7b0dc707ef26675449d5f3654dacda
    Reviewed-on: https://gerrit.libreoffice.org/69922
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>

diff --git a/vcl/qa/cppunit/BitmapTest.cxx b/vcl/qa/cppunit/BitmapTest.cxx
index 6372b71d55aa..9c8c399028a3 100644
--- a/vcl/qa/cppunit/BitmapTest.cxx
+++ b/vcl/qa/cppunit/BitmapTest.cxx
@@ -43,6 +43,7 @@ class BitmapTest : public CppUnit::TestFixture
     void testScale();
     void testCRC();
     void testGreyPalette();
+    void testCustom8BitPalette();
 
     CPPUNIT_TEST_SUITE(BitmapTest);
     CPPUNIT_TEST(testCreation);
@@ -54,6 +55,7 @@ class BitmapTest : public CppUnit::TestFixture
     CPPUNIT_TEST(testScale);
     CPPUNIT_TEST(testCRC);
     CPPUNIT_TEST(testGreyPalette);
+    CPPUNIT_TEST(testCustom8BitPalette);
     CPPUNIT_TEST_SUITE_END();
 };
 
@@ -549,6 +551,49 @@ void BitmapTest::testGreyPalette()
     }
 }
 
+void BitmapTest::testCustom8BitPalette()
+{
+    BitmapPalette aCustomPalette;
+    aCustomPalette.SetEntryCount(256);
+    for (sal_uInt16 i = 0; i < 256; i++)
+    {
+        aCustomPalette[i] = BitmapColor(sal_uInt8(i), sal_uInt8(0xCC), sal_uInt8(0x22));
+    }
+    Bitmap aBitmap(Size(3, 2), 8, &aCustomPalette);
+
+    {
+        BitmapScopedWriteAccess pAccess(aBitmap);
+        pAccess->SetPixelIndex(0, 0, 0);
+        pAccess->SetPixelIndex(0, 1, 1);
+        pAccess->SetPixelIndex(0, 2, 2);
+
+        pAccess->SetPixelIndex(1, 0, 253);
+        pAccess->SetPixelIndex(1, 1, 254);
+        pAccess->SetPixelIndex(1, 2, 255);
+    }
+
+    {
+        Bitmap::ScopedReadAccess pAccess(aBitmap);
+        CPPUNIT_ASSERT_EQUAL(0, int(pAccess->GetPixelIndex(0, 0)));
+        CPPUNIT_ASSERT_EQUAL(BitmapColor(0x00, 0xCC, 0x22), pAccess->GetColor(0, 0));
+
+        CPPUNIT_ASSERT_EQUAL(1, int(pAccess->GetPixelIndex(0, 1)));
+        CPPUNIT_ASSERT_EQUAL(BitmapColor(0x01, 0xCC, 0x22), pAccess->GetColor(0, 1));
+
+        CPPUNIT_ASSERT_EQUAL(2, int(pAccess->GetPixelIndex(0, 2)));
+        CPPUNIT_ASSERT_EQUAL(BitmapColor(0x02, 0xCC, 0x22), pAccess->GetColor(0, 2));
+
+        CPPUNIT_ASSERT_EQUAL(253, int(pAccess->GetPixelIndex(1, 0)));
+        CPPUNIT_ASSERT_EQUAL(BitmapColor(0xFD, 0xCC, 0x22), pAccess->GetColor(1, 0));
+
+        CPPUNIT_ASSERT_EQUAL(254, int(pAccess->GetPixelIndex(1, 1)));
+        CPPUNIT_ASSERT_EQUAL(BitmapColor(0xFE, 0xCC, 0x22), pAccess->GetColor(1, 1));
+
+        CPPUNIT_ASSERT_EQUAL(255, int(pAccess->GetPixelIndex(1, 2)));
+        CPPUNIT_ASSERT_EQUAL(BitmapColor(0xFF, 0xCC, 0x22), pAccess->GetColor(1, 2));
+    }
+}
+
 } // namespace
 
 CPPUNIT_TEST_SUITE_REGISTRATION(BitmapTest);


More information about the Libreoffice-commits mailing list