diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp b/tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp index d23f69ac6c..ca54564d24 100644 --- a/tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp +++ b/tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp @@ -73,6 +73,7 @@ private slots: void setSizeGripEnabled(); void task194017_hiddenWidget(); void QTBUG4334_hiddenOnMaximizedWindow(); + void QTBUG25492_msgtimeout(); private: QStatusBar *testWidget; @@ -276,5 +277,49 @@ void tst_QStatusBar::QTBUG4334_hiddenOnMaximizedWindow() QVERIFY(!statusbar.findChild<QSizeGrip*>()->isVisible()); } +void tst_QStatusBar::QTBUG25492_msgtimeout() +{ + QVERIFY(testWidget->currentMessage().isNull()); + QVERIFY(currentMessage.isNull()); + testWidget->show(); + + // Set display message forever first + testWidget->showMessage("Ready", 0); + QCOMPARE(testWidget->currentMessage(), QString("Ready")); + QCOMPARE(testWidget->currentMessage(), currentMessage); + + QTest::qWait(1000); + + // Set display message for 2 seconds again + testWidget->showMessage("Ready", 2000); + QCOMPARE(testWidget->currentMessage(), QString("Ready")); + QCOMPARE(testWidget->currentMessage(), currentMessage); + + QTest::qWait(3000); + + // Message disappears after 2 seconds + QVERIFY(testWidget->currentMessage().isNull()); + QVERIFY(currentMessage.isNull()); + + // Set display message for 2 seconds first + testWidget->showMessage("Ready 25492", 2000); + QCOMPARE(testWidget->currentMessage(), QString("Ready 25492")); + QCOMPARE(testWidget->currentMessage(), currentMessage); + + QTest::qWait(1000); + + // Set display message forever again + testWidget->showMessage("Ready 25492", 0); + QCOMPARE(testWidget->currentMessage(), QString("Ready 25492")); + QCOMPARE(testWidget->currentMessage(), currentMessage); + + QTest::qWait(3000); + + // Message displays forever + QCOMPARE(testWidget->currentMessage(), QString("Ready 25492")); + QCOMPARE(testWidget->currentMessage(), currentMessage); +} + + QTEST_MAIN(tst_QStatusBar) #include "tst_qstatusbar.moc" |