diff options
author | Mark Brand <mabrand@mabrand.nl> | 2012-10-16 01:46:44 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-10-16 13:36:43 +0200 |
commit | e437051ff51d57bcc6937dc23fe6a77bf9897130 (patch) | |
tree | dabded27806eef99dae326c205ac173b8ba4301a /tests | |
parent | e0ad6e5f7dd644c35baeb5ee714b5abfae2696da (diff) |
QComboBox: replace homebrew with QSignalSpy for editTextChanged test
Change-Id: Id4c81ae71d6dc87f9ad7cfb99a89d335162e1f75
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp | 47 |
1 files changed, 12 insertions, 35 deletions
diff --git a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp index 6016a19ff2..116f3a99f3 100644 --- a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp +++ b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp @@ -160,15 +160,10 @@ private slots: void task_QTBUG_10491_currentIndexAndModelColumn(); void highlightedSignal(); -protected slots: - void onEditTextChanged( const QString &newString ); - private: QComboBox *testWidget; QWidget *parent; QPushButton* ok; - int editTextCount; - QString editText; }; class MyAbstractItemDelegate : public QAbstractItemDelegate @@ -403,10 +398,6 @@ void tst_QComboBox::initTestCase() testWidget = new QComboBox(parent); testWidget->setObjectName("testObject"); testWidget->setGeometry(0, 0, 100, 100); - editTextCount = 0; - editText.clear(); - connect(testWidget, SIGNAL(editTextChanged(const QString&)), - this, SLOT(onEditTextChanged(const QString&))); parent->show(); } @@ -1375,23 +1366,19 @@ void tst_QComboBox::editTextChanged() testWidget->setEditable(false); QCOMPARE(testWidget->isEditable(), false); + QSignalSpy spy(testWidget, SIGNAL(editTextChanged(QString))); + // no signal should be sent when current is set to the same QCOMPARE(testWidget->currentIndex(), 0); - editTextCount = 0; - editText.clear(); testWidget->setCurrentIndex(0); QCOMPARE(testWidget->currentIndex(), 0); - QCOMPARE(editTextCount, 0); - QCOMPARE(editText.isEmpty(), true); + QCOMPARE(spy.count(), 0); // no signal should be sent when changing to other index because we are not editable QCOMPARE(testWidget->currentIndex(), 0); - editTextCount = 0; - editText.clear(); testWidget->setCurrentIndex(1); QCOMPARE(testWidget->currentIndex(), 1); - QCOMPARE(editTextCount, 0); - QCOMPARE(editText.isEmpty(), true); + QCOMPARE(spy.count(), 0); // now set to editable and reset current index testWidget->setEditable(true); @@ -1399,35 +1386,25 @@ void tst_QComboBox::editTextChanged() testWidget->setCurrentIndex(0); // no signal should be sent when current is set to the same + spy.clear(); QCOMPARE(testWidget->currentIndex(), 0); - editTextCount = 0; - editText.clear(); testWidget->setCurrentIndex(0); QCOMPARE(testWidget->currentIndex(), 0); - QCOMPARE(editTextCount, 0); - QCOMPARE(editText.isEmpty(), true); + QCOMPARE(spy.count(), 0); // signal should be sent when changing to other index QCOMPARE(testWidget->currentIndex(), 0); - editTextCount = 0; - editText.clear(); testWidget->setCurrentIndex(1); QCOMPARE(testWidget->currentIndex(), 1); - QCOMPARE(editTextCount, 1); - QCOMPARE(editText, QString("bar")); + QCOMPARE(spy.count(), 1); + QCOMPARE(qvariant_cast<QString>(spy.at(0).at(0)), QString("bar")); + // insert some keys and notice they are all signaled - editTextCount = 0; - editText.clear(); + spy.clear(); QTest::keyClicks(testWidget, "bingo"); - QCOMPARE(editTextCount, 5); - QCOMPARE(editText, QString("barbingo")); -} - -void tst_QComboBox::onEditTextChanged(const QString &text) -{ - editTextCount++; - editText = text; + QCOMPARE(spy.count(), 5); + QCOMPARE(qvariant_cast<QString>(spy.at(4).at(0)), QString("barbingo")); } void tst_QComboBox::setModel() |