diff options
author | Liang Qi <liang.qi@qt.io> | 2018-01-20 22:34:43 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2018-01-20 22:36:19 +0100 |
commit | 65a97fccc67ae7f3df1900e1419955f939a49b9f (patch) | |
tree | a8fd0e119b585123e77e3b2574f2d82a5474eb28 /tests | |
parent | 5e8bc07cb2ded1f5f74435411de666f419869514 (diff) | |
parent | 1303327a713d8f88fd9782e4f887b646d4210f68 (diff) |
Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
Change-Id: If089d5010d15c33b3c1f13912d4386207456c1a9
Diffstat (limited to 'tests')
5 files changed, 63 insertions, 56 deletions
diff --git a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp index 35e14b7dbf..431a9ebdea 100644 --- a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp +++ b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp @@ -779,13 +779,22 @@ void tst_QMetaObject::invokePointer() QCOMPARE(QtTestObject::staticResult, QString("staticFunction1")); // Test lambdas - QVERIFY(QMetaObject::invokeMethod(&obj, [&](){obj.sl1(t1);})); - QCOMPARE(obj.slotResult, QString("sl1:1")); - - QString exp; - QVERIFY(QMetaObject::invokeMethod(&obj, [&]()->QString{return obj.sl1("bubu");}, &exp)); - QCOMPARE(exp, QString("yessir")); - QCOMPARE(obj.slotResult, QString("sl1:bubu")); + QCOMPARE(countedStructObjectsCount, 0); + { + CountedStruct str; + QVERIFY(QMetaObject::invokeMethod(&obj, [str, &t1, &obj]() { obj.sl1(t1); })); + QCOMPARE(obj.slotResult, QString("sl1:1")); + } + QCOMPARE(countedStructObjectsCount, 0); + { + CountedStruct str; + QString exp; + QVERIFY(QMetaObject::invokeMethod( + &obj, [str, &obj]() -> QString { return obj.sl1("bubu"); }, &exp)); + QCOMPARE(exp, QString("yessir")); + QCOMPARE(obj.slotResult, QString("sl1:bubu")); + } + QCOMPARE(countedStructObjectsCount, 0); } void tst_QMetaObject::invokeQueuedMetaMember() @@ -873,16 +882,28 @@ void tst_QMetaObject::invokeQueuedPointer() QCOMPARE(QtTestObject::staticResult, QString("staticFunction0")); // Test lambda - obj.slotResult.clear(); - QVERIFY(QMetaObject::invokeMethod(&obj, [&](){obj.sl0();}, Qt::QueuedConnection)); - QVERIFY(obj.slotResult.isEmpty()); - qApp->processEvents(QEventLoop::AllEvents); - QCOMPARE(obj.slotResult, QString("sl0")); - - qint32 var = 0; - QTest::ignoreMessage(QtWarningMsg, "QMetaObject::invokeMethod: Unable to invoke methods with return values in queued connections"); - QVERIFY(!QMetaObject::invokeMethod(&obj, []()->qint32{return 1;}, Qt::QueuedConnection, &var)); - QCOMPARE(var, 0); + QCOMPARE(countedStructObjectsCount, 0); + { + CountedStruct str; + obj.slotResult.clear(); + QVERIFY( + QMetaObject::invokeMethod(&obj, [str, &obj]() { obj.sl0(); }, Qt::QueuedConnection)); + QVERIFY(obj.slotResult.isEmpty()); + qApp->processEvents(QEventLoop::AllEvents); + QCOMPARE(obj.slotResult, QString("sl0")); + } + QCOMPARE(countedStructObjectsCount, 0); + { + CountedStruct str; + qint32 var = 0; + QTest::ignoreMessage(QtWarningMsg, + "QMetaObject::invokeMethod: Unable to invoke methods with return " + "values in queued connections"); + QVERIFY(!QMetaObject::invokeMethod(&obj, [str]() -> qint32 { return 1; }, + Qt::QueuedConnection, &var)); + QCOMPARE(var, 0); + } + QCOMPARE(countedStructObjectsCount, 0); } @@ -1063,17 +1084,26 @@ void tst_QMetaObject::invokeBlockingQueuedPointer() QCOMPARE(QtTestObject::staticResult, QString("staticFunction1")); // Test lambdas - QVERIFY(QMetaObject::invokeMethod(&obj, [&](){obj.sl1(t1);}, Qt::BlockingQueuedConnection)); - QCOMPARE(obj.slotResult, QString("sl1:1")); - - QString exp; - QVERIFY(QMetaObject::invokeMethod(&obj, [&]()->QString{return obj.sl1("bubu");}, Qt::BlockingQueuedConnection, &exp)); - QCOMPARE(exp, QString("yessir")); - QCOMPARE(obj.slotResult, QString("sl1:bubu")); - + QCOMPARE(countedStructObjectsCount, 0); + { + CountedStruct str; + QVERIFY(QMetaObject::invokeMethod(&obj, [str, &obj, &t1]() { obj.sl1(t1); }, + Qt::BlockingQueuedConnection)); + QCOMPARE(obj.slotResult, QString("sl1:1")); + } + { + CountedStruct str; + QString exp; + QVERIFY(QMetaObject::invokeMethod(&obj, + [&obj, str]() -> QString { return obj.sl1("bubu"); }, + Qt::BlockingQueuedConnection, &exp)); + QCOMPARE(exp, QString("yessir")); + QCOMPARE(obj.slotResult, QString("sl1:bubu")); + } QVERIFY(QMetaObject::invokeMethod(&obj, [&](){obj.moveToThread(QThread::currentThread());}, Qt::BlockingQueuedConnection)); t.quit(); QVERIFY(t.wait()); + QCOMPARE(countedStructObjectsCount, 0); } diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp index 8640666146..393e1b68aa 100644 --- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp +++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp @@ -1891,7 +1891,7 @@ void tst_QDateTime::operator_eqeq_data() QDateTime dateTime1a = dateTime1.addMSecs(1); QDateTime dateTime2(QDate(2012, 20, 6), QTime(14, 33, 2, 500)); QDateTime dateTime2a = dateTime2.addMSecs(-1); - QDateTime dateTime3(QDate(1970, 1, 1), QTime(0, 0, 0, 0), Qt::UTC); + QDateTime dateTime3(QDate(1970, 1, 1), QTime(0, 0, 0, 0), Qt::UTC); // UTC epoch QDateTime dateTime3a = dateTime3.addDays(1); QDateTime dateTime3b = dateTime3.addDays(-1); // Ensure that different times may be equal when considering timezone. @@ -1899,8 +1899,7 @@ void tst_QDateTime::operator_eqeq_data() dateTime3c.setOffsetFromUtc(3600); QDateTime dateTime3d(dateTime3.addSecs(-3600)); dateTime3d.setOffsetFromUtc(-3600); - // Convert from UTC to local. - QDateTime dateTime3e(dateTime3.date(), dateTime3.time()); + QDateTime dateTime3e(dateTime3.date(), dateTime3.time()); // Local time's epoch QTest::newRow("data0") << dateTime1 << dateTime1 << true << false; QTest::newRow("data1") << dateTime2 << dateTime2 << true << false; @@ -1915,8 +1914,11 @@ void tst_QDateTime::operator_eqeq_data() QTest::newRow("data10") << dateTime3 << dateTime3c << true << false; QTest::newRow("data11") << dateTime3 << dateTime3d << true << false; QTest::newRow("data12") << dateTime3c << dateTime3d << true << false; - QTest::newRow("data13") << dateTime3 << dateTime3e - << (localTimeType == LocalTimeIsUtc) << false; + if (localTimeType == LocalTimeIsUtc) + QTest::newRow("data13") << dateTime3 << dateTime3e << true << false; + // ... but a zone (sometimes) ahead of or behind UTC (e.g. Europe/London) + // might agree with UTC about the epoch, all the same. + QTest::newRow("invalid == invalid") << invalidDateTime() << invalidDateTime() << true << false; QTest::newRow("invalid == valid #1") << invalidDateTime() << dateTime1 << false << false; diff --git a/tests/auto/gui/kernel/qwindow/BLACKLIST b/tests/auto/gui/kernel/qwindow/BLACKLIST index 3e03d9e236..9108cf2c1f 100644 --- a/tests/auto/gui/kernel/qwindow/BLACKLIST +++ b/tests/auto/gui/kernel/qwindow/BLACKLIST @@ -15,6 +15,7 @@ ubuntu-14.04 [modalWindowEnterEventOnHide_QTBUG35109] ubuntu-14.04 ubuntu-16.04 +osx ci [modalDialogClosingOneOfTwoModal] osx [modalWindowModallity] diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp index f2754de929..18723458f6 100644 --- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp +++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp @@ -2032,9 +2032,6 @@ void tst_QWindow::modalWindowPosition() #ifndef QT_NO_CURSOR void tst_QWindow::modalWindowEnterEventOnHide_QTBUG35109() { - if (QGuiApplication::platformName() == QLatin1String("cocoa")) - QSKIP("This test fails on OS X on CI"); - if (isPlatformOffscreenOrMinimal()) QSKIP("Can't test window focusing on offscreen/minimal"); diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp index 0eec2e7c75..5293ba487a 100644 --- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp @@ -339,17 +339,6 @@ public: endRemoveColumns(); } - void removeAddLastColumnLayoutChanged() // for taskQTBUG_41124 - { - // make sure QHeaderView::_q_layoutChanged() is called - emit layoutAboutToBeChanged(); - --cols; - emit layoutChanged(); - emit layoutAboutToBeChanged(); - ++cols; - emit layoutChanged(); - } - void removeAllColumns() { beginRemoveColumns(QModelIndex(), 0, cols - 1); @@ -1355,18 +1344,6 @@ void tst_QTreeView::columnHidden() QCOMPARE(view.isColumnHidden(model.cols - 1), true); model.simulateMoveRows(); QCOMPARE(view.isColumnHidden(model.cols - 1), true); - - // QTBUG_41124: - // QHeaderViewPrivate::_q_layoutChanged was not called because it was - // disconnected in QTreeView::setModel(). _q_layoutChanged restores - // the hidden sections which is tested here - view.setColumnHidden(model.cols - 1, true); - model.removeAddLastColumnLayoutChanged(); - // we removed the last column and added a new one - // (with layoutToBeChanged/layoutChanged() for both) so column - // 1 is a new column and therefore must not be hidden when - // _q_layoutChanged() is called and is doing the right stuff - QCOMPARE(view.isColumnHidden(model.cols - 1), false); } void tst_QTreeView::rowHidden() |