File indexing completed on 2024-05-12 04:44:21

0001 // SPDX-FileCopyrightText: Lukas Sommer <sommerluk@gmail.com>
0002 // SPDX-License-Identifier: BSD-2-Clause OR MIT
0003 
0004 // First included header is the public header of the class we are testing;
0005 // this forces the header to be self-contained.
0006 #include "asyncimagerendercallback.h"
0007 
0008 #include <qglobal.h>
0009 #include <qobject.h>
0010 #include <qtest.h>
0011 #include <qvariant.h>
0012 
0013 #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
0014 #include <qtmetamacros.h>
0015 #else
0016 #include <qobjectdefs.h>
0017 #include <qstring.h>
0018 #endif
0019 
0020 class QImage;
0021 
0022 namespace PerceptualColor
0023 {
0024 class Mockup : public AsyncImageRenderCallback
0025 {
0026 public:
0027     virtual bool shouldAbort() const override;
0028     virtual void deliverInterlacingPass(const QImage &image, const QVariant &parameters, const InterlacingState state) override;
0029 };
0030 
0031 bool Mockup::shouldAbort() const
0032 {
0033     return false;
0034 }
0035 
0036 void Mockup::deliverInterlacingPass(const QImage &image, const QVariant &parameters, const InterlacingState state)
0037 {
0038     Q_UNUSED(image)
0039     Q_UNUSED(parameters)
0040     Q_UNUSED(state)
0041 }
0042 
0043 class TestAsyncImageRenderCallback : public QObject
0044 {
0045     Q_OBJECT
0046 
0047 public:
0048     explicit TestAsyncImageRenderCallback(QObject *parent = nullptr)
0049         : QObject(parent)
0050     {
0051     }
0052 
0053 private Q_SLOTS:
0054     void initTestCase()
0055     {
0056         // Called before the first test function is executed
0057     }
0058 
0059     void cleanupTestCase()
0060     {
0061         // Called after the last test function was executed
0062     }
0063 
0064     void init()
0065     {
0066         // Called before each test function is executed
0067     }
0068 
0069     void cleanup()
0070     {
0071         // Called after every test function
0072     }
0073 
0074     void testConstructorDestructor()
0075     {
0076         Mockup test;
0077     }
0078 };
0079 
0080 } // namespace PerceptualColor
0081 
0082 QTEST_MAIN(PerceptualColor::TestAsyncImageRenderCallback)
0083 
0084 // The following “include” is necessary because we do not use a header file:
0085 #include "testasyncimagerendercallback.moc"