vcl/qa/cppunit/GraphicTest.cxx |   93 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

New commits:
commit 79b4e2b3b18611f2b18508e8cba5f068b4be29ba
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Mon Feb 15 14:30:01 2021 +0900
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Tue Feb 16 03:18:35 2021 +0100

    vcl: add test to load graphic of some less common formats
    
    Change-Id: Id23d2fc7a57d264b4fda2a2f2c39ab2cbc7cd477
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110897
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/vcl/qa/cppunit/GraphicTest.cxx b/vcl/qa/cppunit/GraphicTest.cxx
index 2c64ce856692..55858e85ca13 100644
--- a/vcl/qa/cppunit/GraphicTest.cxx
+++ b/vcl/qa/cppunit/GraphicTest.cxx
@@ -71,6 +71,15 @@ private:
     void testSwappingAnimationGraphic_GIF_WithGfxLink();
     void testSwappingAnimationGraphic_GIF_WithoutGfxLink();
 
+    void testLoadMET();
+    void testLoadBMP();
+    void testLoadPSD();
+    void testLoadTGA();
+    void testLoadXBM();
+    void testLoadXPM();
+    void testLoadPCX();
+    void testLoadEPS();
+
     CPPUNIT_TEST_SUITE(GraphicTest);
     CPPUNIT_TEST(testUnloadedGraphic);
     CPPUNIT_TEST(testUnloadedGraphicLoading);
@@ -95,6 +104,16 @@ private:
 
     CPPUNIT_TEST(testSwappingAnimationGraphic_GIF_WithGfxLink);
     CPPUNIT_TEST(testSwappingAnimationGraphic_GIF_WithoutGfxLink);
+
+    CPPUNIT_TEST(testLoadMET);
+    CPPUNIT_TEST(testLoadBMP);
+    CPPUNIT_TEST(testLoadPSD);
+    CPPUNIT_TEST(testLoadTGA);
+    CPPUNIT_TEST(testLoadXBM);
+    CPPUNIT_TEST(testLoadXPM);
+    CPPUNIT_TEST(testLoadPCX);
+    CPPUNIT_TEST(testLoadEPS);
+
     CPPUNIT_TEST_SUITE_END();
 };
 
@@ -214,6 +233,20 @@ bool checkBitmap(Graphic& rGraphic)
 constexpr OUStringLiteral DATA_DIRECTORY = u"/vcl/qa/cppunit/data/";
 constexpr OUStringLiteral PDFEXPORT_DATA_DIRECTORY = 
u"/vcl/qa/cppunit/pdfexport/data/";
 
+Graphic loadGraphic(std::u16string_view const& rFilename)
+{
+    test::Directories aDirectories;
+    OUString aFilename = aDirectories.getURLFromSrc(DATA_DIRECTORY) + 
rFilename;
+    SvFileStream aFileStream(aFilename, StreamMode::READ);
+    GraphicFilter& rGraphicFilter = GraphicFilter::GetGraphicFilter();
+
+    Graphic aGraphic;
+    CPPUNIT_ASSERT_EQUAL(
+        ERRCODE_NONE,
+        rGraphicFilter.ImportGraphic(aGraphic, OUString(), aFileStream, 
GRFILTER_FORMAT_DONTKNOW));
+    return aGraphic;
+}
+
 void GraphicTest::testUnloadedGraphic()
 {
     // make unloaded test graphic
@@ -1126,6 +1159,66 @@ void 
GraphicTest::testSwappingAnimationGraphic_GIF_WithoutGfxLink()
     CPPUNIT_ASSERT_EQUAL(rByteSize, aGraphic.GetSizeBytes());
 }
 
+void GraphicTest::testLoadMET()
+{
+    Graphic aGraphic = loadGraphic(u"TypeDetectionExample.met");
+    CPPUNIT_ASSERT_EQUAL(GraphicType::GdiMetafile, aGraphic.GetType());
+}
+
+void GraphicTest::testLoadBMP()
+{
+    Graphic aGraphic = loadGraphic(u"TypeDetectionExample.bmp");
+    CPPUNIT_ASSERT_EQUAL(GraphicType::Bitmap, aGraphic.GetType());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Width());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Height());
+}
+
+void GraphicTest::testLoadPSD()
+{
+    Graphic aGraphic = loadGraphic(u"TypeDetectionExample.psd");
+    CPPUNIT_ASSERT_EQUAL(GraphicType::Bitmap, aGraphic.GetType());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Width());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Height());
+}
+
+void GraphicTest::testLoadTGA()
+{
+    Graphic aGraphic = loadGraphic(u"TypeDetectionExample.tga");
+    CPPUNIT_ASSERT_EQUAL(GraphicType::Bitmap, aGraphic.GetType());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Width());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Height());
+}
+
+void GraphicTest::testLoadXBM()
+{
+    Graphic aGraphic = loadGraphic(u"TypeDetectionExample.xbm");
+    CPPUNIT_ASSERT_EQUAL(GraphicType::Bitmap, aGraphic.GetType());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Width());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Height());
+}
+
+void GraphicTest::testLoadXPM()
+{
+    Graphic aGraphic = loadGraphic(u"TypeDetectionExample.xpm");
+    CPPUNIT_ASSERT_EQUAL(GraphicType::Bitmap, aGraphic.GetType());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Width());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Height());
+}
+
+void GraphicTest::testLoadPCX()
+{
+    Graphic aGraphic = loadGraphic(u"TypeDetectionExample.pcx");
+    CPPUNIT_ASSERT_EQUAL(GraphicType::Bitmap, aGraphic.GetType());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Width());
+    CPPUNIT_ASSERT_EQUAL(tools::Long(10), aGraphic.GetSizePixel().Height());
+}
+
+void GraphicTest::testLoadEPS()
+{
+    Graphic aGraphic = loadGraphic(u"TypeDetectionExample.eps");
+    CPPUNIT_ASSERT_EQUAL(GraphicType::GdiMetafile, aGraphic.GetType());
+}
+
 } // namespace
 
 CPPUNIT_TEST_SUITE_REGISTRATION(GraphicTest);
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to