From 6e595d63a00edcf90bbb42e5c0ccc0bd24b297a3 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 19 Jan 2024 17:16:07 +0100 Subject: [PATCH] QmlPreview: Move test creation closer to test code Change-Id: I7d44c332cd1fedf28854953d7bd649fbd6176fbf Reviewed-by: Jarek Kobus --- src/plugins/qmlpreview/qmlpreviewplugin.cpp | 4 +-- .../tests/qmlpreviewclient_test.cpp | 16 ++++++++++++ .../qmlpreview/tests/qmlpreviewclient_test.h | 11 +------- .../tests/qmlpreviewplugin_test.cpp | 25 ++++++++++++++++--- .../qmlpreview/tests/qmlpreviewplugin_test.h | 15 +---------- 5 files changed, 41 insertions(+), 30 deletions(-) diff --git a/src/plugins/qmlpreview/qmlpreviewplugin.cpp b/src/plugins/qmlpreview/qmlpreviewplugin.cpp index 4d36d3059e4..c871996a7bf 100644 --- a/src/plugins/qmlpreview/qmlpreviewplugin.cpp +++ b/src/plugins/qmlpreview/qmlpreviewplugin.cpp @@ -249,8 +249,8 @@ void QmlPreviewPlugin::initialize() d = new QmlPreviewPluginPrivate(this); #ifdef WITH_TESTS - addTest(); - addTest(); + addTestCreator(createQmlPreviewClientTest); + addTestCreator(createQmlPreviewPluginTest); #endif } diff --git a/src/plugins/qmlpreview/tests/qmlpreviewclient_test.cpp b/src/plugins/qmlpreview/tests/qmlpreviewclient_test.cpp index c217d63d819..5d93de72c22 100644 --- a/src/plugins/qmlpreview/tests/qmlpreviewclient_test.cpp +++ b/src/plugins/qmlpreview/tests/qmlpreviewclient_test.cpp @@ -8,6 +8,17 @@ namespace QmlPreview { +class QmlPreviewClientTest : public QObject +{ + Q_OBJECT + +private slots: + void testLoadFile(); + void testAnnounceFile(); + void testZoom(); + void testMessageReceived(); +}; + class TestableQmlPreviewClient : public QmlPreviewClient { Q_OBJECT @@ -116,6 +127,11 @@ void QmlPreviewClientTest::testMessageReceived() } } +QObject *createQmlPreviewClientTest() +{ + return new QmlPreviewClientTest; +} + } // namespace QmlPreview #include "qmlpreviewclient_test.moc" diff --git a/src/plugins/qmlpreview/tests/qmlpreviewclient_test.h b/src/plugins/qmlpreview/tests/qmlpreviewclient_test.h index 9ec1fb1ccf0..727ef11ac2b 100644 --- a/src/plugins/qmlpreview/tests/qmlpreviewclient_test.h +++ b/src/plugins/qmlpreview/tests/qmlpreviewclient_test.h @@ -5,15 +5,6 @@ namespace QmlPreview { -class QmlPreviewClientTest : public QObject -{ - Q_OBJECT - -private slots: - void testLoadFile(); - void testAnnounceFile(); - void testZoom(); - void testMessageReceived(); -}; +QObject *createQmlPreviewClientTest(); } // namespace QmlPreview diff --git a/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.cpp b/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.cpp index 2b06bd12e0d..d041afbffd7 100644 --- a/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.cpp +++ b/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.cpp @@ -9,13 +9,23 @@ #include #include -Q_DECLARE_METATYPE(QmlPreview::TestFileLoader) -Q_DECLARE_METATYPE(QmlPreview::TestFpsHandler) +typedef QByteArray (*TestFileLoader)(const QString &, bool *); +typedef void (*TestFpsHandler)(quint16[8]); + +Q_DECLARE_METATYPE(TestFileLoader) +Q_DECLARE_METATYPE(TestFpsHandler) namespace QmlPreview { -QmlPreviewPluginTest::QmlPreviewPluginTest(QObject *parent) : QObject(parent) -{ } +class QmlPreviewPluginTest : public QObject +{ + Q_OBJECT + +private slots: + void testFileLoaderProperty(); + void testZoomFactorProperty(); + void testFpsHandlerProperty(); +}; static ExtensionSystem::IPlugin *getPlugin() { @@ -66,4 +76,11 @@ void QmlPreviewPluginTest::testFpsHandlerProperty() handler(stats); } +QObject *createQmlPreviewPluginTest() +{ + return new QmlPreviewPluginTest; +} + } // namespace QmlPreview + +#include "qmlpreviewplugin_test.moc" diff --git a/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.h b/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.h index 13aa9242d47..75d2a71b1cc 100644 --- a/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.h +++ b/src/plugins/qmlpreview/tests/qmlpreviewplugin_test.h @@ -7,19 +7,6 @@ namespace QmlPreview { -typedef QByteArray (*TestFileLoader)(const QString &, bool *); -typedef void (*TestFpsHandler)(quint16[8]); - -class QmlPreviewPluginTest : public QObject -{ - Q_OBJECT -public: - explicit QmlPreviewPluginTest(QObject *parent = nullptr); - -private slots: - void testFileLoaderProperty(); - void testZoomFactorProperty(); - void testFpsHandlerProperty(); -}; +QObject *createQmlPreviewPluginTest(); } // namespace QmlPreview