summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/kernel/qapplication
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2020-10-16 13:39:11 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2020-10-18 17:00:24 +0200
commit87f29754ec3234858f0d9b3fd86dc6412e0de552 (patch)
treeac22786bab0b880225260bc93abd41831d27b4ec /tests/auto/widgets/kernel/qapplication
parentf1408d9966854cf55f15d59547f99d3aa2585fd4 (diff)
Fix compile warning from testing deprecated signal
Silence the warning, and test event delivery in addition. Change-Id: I59c49a2ac70ecd32429116b76643700a7ad5ce3e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'tests/auto/widgets/kernel/qapplication')
-rw-r--r--tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp53
1 files changed, 46 insertions, 7 deletions
diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
index 6c6793b26b..5cd976f4d7 100644
--- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
+++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
@@ -213,19 +213,58 @@ void tst_QApplication::staticSetup()
QVERIFY(style);
QApplication::setStyle(style);
- bool palette_changed = false;
QPalette pal;
QApplication::setPalette(pal);
-
- /*QFont font;
- QApplication::setFont(font);*/
+ QFont font;
+ QApplication::setFont(font);
int argc = 0;
QApplication app(argc, nullptr);
- QObject::connect(&app, &QApplication::paletteChanged, [&palette_changed]{ palette_changed = true; });
- QVERIFY(!palette_changed);
+
+ class EventWatcher : public QObject
+ {
+ public:
+ int palette_changed = 0;
+ int font_changed = 0;
+
+ EventWatcher()
+ {
+ qApp->installEventFilter(this);
+QT_WARNING_PUSH QT_WARNING_DISABLE_DEPRECATED
+ QObject::connect(qApp, &QApplication::paletteChanged, [&]{ ++palette_changed; });
+ QObject::connect(qApp, &QApplication::fontChanged, [&]{ ++font_changed; });
+QT_WARNING_POP
+ }
+
+ protected:
+ bool eventFilter(QObject *, QEvent *event) override
+ {
+ switch (event->type()) {
+ case QEvent::ApplicationPaletteChange:
+ ++palette_changed;
+ break;
+ case QEvent::ApplicationFontChange:
+ ++font_changed;
+ break;
+ default:
+ break;
+ }
+
+ return false;
+ }
+ };
+
+ EventWatcher watcher;
+
+ QCOMPARE(watcher.palette_changed, 0);
+ QCOMPARE(watcher.font_changed, 0);
qApp->setPalette(QPalette(Qt::red));
- QVERIFY(palette_changed);
+
+ font.setBold(!font.bold());
+ qApp->setFont(font);
+ QApplication::processEvents();
+ QCOMPARE(watcher.palette_changed, 2);
+ QCOMPARE(watcher.font_changed, 2);
}