summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/widgets/qstatusbar/tst_qstatusbar.cpp45
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"