summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2012-10-16 01:46:44 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-16 13:36:43 +0200
commite437051ff51d57bcc6937dc23fe6a77bf9897130 (patch)
treedabded27806eef99dae326c205ac173b8ba4301a /tests
parente0ad6e5f7dd644c35baeb5ee714b5abfae2696da (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.cpp47
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()