summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-01-20 22:34:43 +0100
committerLiang Qi <liang.qi@qt.io>2018-01-20 22:36:19 +0100
commit65a97fccc67ae7f3df1900e1419955f939a49b9f (patch)
treea8fd0e119b585123e77e3b2574f2d82a5474eb28 /tests
parent5e8bc07cb2ded1f5f74435411de666f419869514 (diff)
parent1303327a713d8f88fd9782e4f887b646d4210f68 (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')
-rw-r--r--tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp80
-rw-r--r--tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp12
-rw-r--r--tests/auto/gui/kernel/qwindow/BLACKLIST1
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp3
-rw-r--r--tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp23
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()