summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp')
-rw-r--r--tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp50
1 files changed, 32 insertions, 18 deletions
diff --git a/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp b/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp
index 1833af7af5..4fd8b99acf 100644
--- a/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp
+++ b/tests/auto/widgets/widgets/qpushbutton/tst_qpushbutton.cpp
@@ -76,11 +76,7 @@ private slots:
void sizeHint_data();
void sizeHint();
void taskQTBUG_20191_shortcutWithKeypadModifer();
-/*
- void state();
- void group();
- void stateChanged();
-*/
+ void emitReleasedAfterChange();
protected slots:
void resetCounters();
@@ -419,19 +415,6 @@ void tst_QPushButton::clicked()
QCOMPARE( release_count, (uint)10 );
}
-/*
-void tst_QPushButton::group()
-{
-}
-
-void tst_QPushButton::state()
-{
-}
-
-void tst_QPushButton::stateChanged()
-{
-}
-*/
QPushButton *pb = 0;
void tst_QPushButton::helperSlotDelete()
{
@@ -681,5 +664,36 @@ void tst_QPushButton::taskQTBUG_20191_shortcutWithKeypadModifer()
QCOMPARE(spy2.count(), 1);
}
+void tst_QPushButton::emitReleasedAfterChange()
+{
+ QPushButton *button1 = new QPushButton("A");
+ QPushButton *button2 = new QPushButton("B");
+ QVBoxLayout *layout = new QVBoxLayout();
+ layout->addWidget(button1);
+ layout->addWidget(button2);
+ QDialog dialog;
+ dialog.setLayout(layout);
+ dialog.show();
+ QTest::qWaitForWindowExposed(&dialog);
+ QApplication::setActiveWindow(&dialog);
+ button1->setFocus();
+
+ QSignalSpy spy(button1, SIGNAL(released()));
+ QTest::mousePress(button1, Qt::LeftButton);
+ QVERIFY(button1->isDown());
+ QTest::keyClick(&dialog, Qt::Key_Tab);
+ QVERIFY(!button1->isDown());
+ QCOMPARE(spy.count(), 1);
+ spy.clear();
+
+ QCOMPARE(spy.count(), 0);
+ button1->setFocus();
+ QTest::mousePress(button1, Qt::LeftButton);
+ QVERIFY(button1->isDown());
+ button1->setEnabled(false);
+ QVERIFY(!button1->isDown());
+ QCOMPARE(spy.count(), 1);
+}
+
QTEST_MAIN(tst_QPushButton)
#include "tst_qpushbutton.moc"