diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2019-04-16 16:32:08 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2019-04-16 16:32:08 +0200 |
commit | 6630937e63ae5797487b86743a7733c8ae5cc42c (patch) | |
tree | 3d53dacf6430f9099e1fb20835881205de674961 /tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp | |
parent | 37ed6dae00640f9cc980ffda05347c12a7eb5d7e (diff) | |
parent | c7af193d2e49e9f10b86262e63d8d13abf72b5cf (diff) |
Merge commit 'dev' into 'wip/cmake-merge'
Change-Id: I176c40d031be26a1dd1cf08843e448a660598783
Diffstat (limited to 'tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp')
-rw-r--r-- | tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp index adedace8b2..7fd1822295 100644 --- a/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp +++ b/tests/auto/widgets/itemviews/qitemdelegate/tst_qitemdelegate.cpp @@ -727,6 +727,16 @@ void tst_QItemDelegate::dateTimeEditor_data() << QDate(2006, 10, 31); } +static QDateTimeEdit *findDateTimeEdit(const QWidget *widget) +{ + const auto dateTimeEditors = widget->findChildren<QDateTimeEdit *>(); + for (auto dateTimeEditor : dateTimeEditors) { + if (qstrcmp(dateTimeEditor->metaObject()->className(), "QDateTimeEdit") == 0) + return dateTimeEditor; + } + return nullptr; +} + void tst_QItemDelegate::dateTimeEditor() { QFETCH(QTime, time); @@ -742,17 +752,24 @@ void tst_QItemDelegate::dateTimeEditor() item3->setData(Qt::DisplayRole, QDateTime(date, time)); QTableWidget widget(1, 3); + widget.setWindowTitle(QLatin1String(QTest::currentTestFunction()) + + QLatin1String("::") + + QLatin1String(QTest::currentDataTag())); widget.setItem(0, 0, item1); widget.setItem(0, 1, item2); widget.setItem(0, 2, item3); widget.show(); + QVERIFY(QTest::qWaitForWindowExposed(&widget)); + QApplication::setActiveWindow(&widget); widget.editItem(item1); QTestEventLoop::instance().enterLoop(1); - QTimeEdit *timeEditor = widget.viewport()->findChild<QTimeEdit *>(); - QVERIFY(timeEditor); + + QTimeEdit *timeEditor = nullptr; + auto viewport = widget.viewport(); + QTRY_VERIFY( (timeEditor = viewport->findChild<QTimeEdit *>()) ); QCOMPARE(timeEditor->time(), time); // The data must actually be different in order for the model // to be updated. @@ -763,8 +780,8 @@ void tst_QItemDelegate::dateTimeEditor() widget.setFocus(); widget.editItem(item2); - QTRY_VERIFY(widget.viewport()->findChild<QDateEdit *>()); - QDateEdit *dateEditor = widget.viewport()->findChild<QDateEdit *>(); + QDateEdit *dateEditor = nullptr; + QTRY_VERIFY( (dateEditor = viewport->findChild<QDateEdit *>()) ); QCOMPARE(dateEditor->date(), date); dateEditor->setDate(date.addDays(60)); @@ -774,12 +791,8 @@ void tst_QItemDelegate::dateTimeEditor() QTestEventLoop::instance().enterLoop(1); - QList<QDateTimeEdit *> dateTimeEditors = widget.findChildren<QDateTimeEdit *>(); - QDateTimeEdit *dateTimeEditor = 0; - foreach(dateTimeEditor, dateTimeEditors) - if (dateTimeEditor->metaObject()->className() == QLatin1String("QDateTimeEdit")) - break; - QVERIFY(dateTimeEditor); + QDateTimeEdit *dateTimeEditor = nullptr; + QTRY_VERIFY( (dateTimeEditor = findDateTimeEdit(viewport)) ); QCOMPARE(dateTimeEditor->date(), date); QCOMPARE(dateTimeEditor->time(), time); dateTimeEditor->setTime(time.addSecs(600)); @@ -1387,6 +1400,7 @@ void tst_QItemDelegate::comboBox() widget.setItem(0, 0, item1); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); + QApplication::setActiveWindow(&widget); widget.editItem(item1); |