diff options
Diffstat (limited to 'tests/auto/quick/qquickgridview/tst_qquickgridview.cpp')
-rw-r--r-- | tests/auto/quick/qquickgridview/tst_qquickgridview.cpp | 659 |
1 files changed, 357 insertions, 302 deletions
diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp index c625f99c00..3eb96e2bb4 100644 --- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp +++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp @@ -1,30 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QtTest/QtTest> #include <QtCore/qstringlistmodel.h> @@ -41,9 +16,9 @@ #include <QtQuick/private/qquickgridview_p.h> #include <QtQuick/private/qquicktext_p.h> #include <QtQmlModels/private/qqmllistmodel_p.h> -#include "../../shared/util.h" -#include "../shared/viewtestutil.h" -#include "../shared/visualtestutil.h" +#include <QtQuickTestUtils/private/qmlutils_p.h> +#include <QtQuickTestUtils/private/viewtestutils_p.h> +#include <QtQuickTestUtils/private/visualtestutils_p.h> #include <QtGui/qguiapplication.h> #include "qplatformdefs.h" @@ -55,8 +30,8 @@ Q_DECLARE_METATYPE(QQuickItemView::VerticalLayoutDirection) Q_DECLARE_METATYPE(QQuickItemView::PositionMode) Q_DECLARE_METATYPE(Qt::Key) -using namespace QQuickViewTestUtil; -using namespace QQuickVisualTestUtil; +using namespace QQuickViewTestUtils; +using namespace QQuickVisualTestUtils; #define SHARE_VIEWS @@ -67,7 +42,7 @@ public: tst_QQuickGridView(); private slots: - void init(); + void init() override; void cleanupTestCase(); void items(); void changed(); @@ -212,11 +187,14 @@ private slots: void QTBUG_45640(); void QTBUG_49218(); + void positionViewAtBeginningAfterResizingCells(); void QTBUG_48870_fastModelUpdates(); void QTBUG_86255(); + void resizeDynamicCellWidthRtL(); void keyNavigationEnabled(); void releaseItems(); + void removeAccessibleChildrenEvenIfReusingItems(); private: QList<int> toIntList(const QVariantList &list); @@ -318,12 +296,16 @@ private: QString testForView; }; -tst_QQuickGridView::tst_QQuickGridView() : m_view(nullptr) +tst_QQuickGridView::tst_QQuickGridView() + : QQmlDataTest(QT_QMLTEST_DATADIR) + , m_view(nullptr) { } void tst_QQuickGridView::init() { + QQmlDataTest::init(); + #ifdef SHARE_VIEWS if (m_view && QString(QTest::currentTestFunction()) != testForView) { testForView = QString(); @@ -369,7 +351,7 @@ void tst_QQuickGridView::items() QTRY_COMPARE(gridview->count(), model.count()); QTRY_COMPARE(window->rootObject()->property("count").toInt(), model.count()); - QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item + QTRY_COMPARE(contentItem->childItems().size(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item for (int i = 0; i < model.count(); ++i) { QQuickText *name = findItem<QQuickText>(contentItem, "textName", i); @@ -384,7 +366,7 @@ void tst_QQuickGridView::items() QaimModel model2; ctxt->setContextProperty("testModel", &model2); - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); QTRY_COMPARE(itemCount, 0); delete window; @@ -449,7 +431,7 @@ void tst_QQuickGridView::inserted_basic() model.insertItem(1, "Will", "9876"); QTRY_COMPARE(window->rootObject()->property("count").toInt(), model.count()); - QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item + QTRY_COMPARE(contentItem->childItems().size(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item QQuickText *name = findItem<QQuickText>(contentItem, "textName", 1); QTRY_VERIFY(name != nullptr); @@ -471,7 +453,7 @@ void tst_QQuickGridView::inserted_basic() model.insertItem(0, "Foo", "1111"); // zero index, and current item - QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item + QTRY_COMPARE(contentItem->childItems().size(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item name = findItem<QQuickText>(contentItem, "textName", 0); QTRY_VERIFY(name != nullptr); @@ -537,7 +519,7 @@ void tst_QQuickGridView::inserted_defaultLayout(QQuickGridView::Flow flow, insertCount = insertCount_ttb; } if (setContentPos(gridview, contentYRowOffset)) - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QList<QPair<QString, QString> > newData; for (int i=0; i<insertCount; i++) @@ -558,9 +540,9 @@ void tst_QQuickGridView::inserted_defaultLayout(QQuickGridView::Flow flow, QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); int firstVisibleIndex = -1; - for (int i=0; i<items.count(); i++) { + for (int i=0; i<items.size(); i++) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); - if (item && delegateVisible(item)) { + if (item && isDelegateVisible(item)) { firstVisibleIndex = i; break; } @@ -568,7 +550,7 @@ void tst_QQuickGridView::inserted_defaultLayout(QQuickGridView::Flow flow, QVERIFY2(firstVisibleIndex >= 0, QTest::toString(firstVisibleIndex)); // Confirm items positioned correctly and indexes correct - for (int i = firstVisibleIndex; i < model.count() && i < items.count(); ++i) { + for (int i = firstVisibleIndex; i < model.count() && i < items.size(); ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); QCOMPARE(item->position(), expectedItemPos(gridview, i, rowOffsetAfterMove)); @@ -723,13 +705,13 @@ void tst_QQuickGridView::insertBeforeVisible() QTRY_VERIFY(contentItem != nullptr); gridview->setCacheBuffer(cacheBuffer); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); // trigger a refill (not just setting contentY) so that the visibleItems grid is updated int firstVisibleIndex = 12; // move to an index where the top item is not visible gridview->setContentY(firstVisibleIndex/3 * 60.0); gridview->setCurrentIndex(firstVisibleIndex); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QTRY_COMPARE(gridview->currentIndex(), firstVisibleIndex); QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", firstVisibleIndex); @@ -746,12 +728,12 @@ void tst_QQuickGridView::insertBeforeVisible() // now, moving to the top of the view should position the inserted items correctly int itemsOffsetAfterMove = (insertCount / 3) * -60.0; gridview->setCurrentIndex(0); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QTRY_COMPARE(gridview->currentIndex(), 0); QTRY_COMPARE(gridview->contentY(), 0.0 + itemsOffsetAfterMove); // Confirm items positioned correctly and indexes correct - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); @@ -805,7 +787,7 @@ void tst_QQuickGridView::removed_basic() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); model.removeItem(1); QTRY_COMPARE(window->rootObject()->property("count").toInt(), model.count()); @@ -823,7 +805,7 @@ void tst_QQuickGridView::removed_basic() QTRY_COMPARE(removed, QString("Item1")); // Confirm items positioned correctly - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; @@ -844,7 +826,7 @@ void tst_QQuickGridView::removed_basic() // Confirm items positioned correctly - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; @@ -857,7 +839,7 @@ void tst_QQuickGridView::removed_basic() QTRY_COMPARE(window->rootObject()->property("count").toInt(), model.count()); // Confirm items positioned correctly - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; @@ -892,10 +874,10 @@ void tst_QQuickGridView::removed_basic() QTRY_VERIFY(gridview->currentItem() != oldCurrent); gridview->setContentY(0); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); // Confirm items positioned correctly - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QTRY_COMPARE(item->x(), qreal((i%3)*80)); @@ -968,7 +950,7 @@ void tst_QQuickGridView::removed_defaultLayout(QQuickGridView::Flow flow, firstVisible = firstVisible_ttb; } if (setContentPos(gridview, contentYRowOffset)) - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); model.removeItems(removeIndex, removeCount); gridview->forceLayout(); @@ -978,11 +960,11 @@ void tst_QQuickGridView::removed_defaultLayout(QQuickGridView::Flow flow, int firstVisibleIndex = -1; QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); QRectF viewRect(gridview->contentX(), gridview->contentY(), gridview->width(), gridview->height()); - for (int i=0; i<items.count(); i++) { + for (int i=0; i<items.size(); i++) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (item) { QRectF itemRect(item->x(), item->y(), item->width(), item->height()); - if (delegateVisible(item) && viewRect.intersects(itemRect)) { + if (isDelegateVisible(item) && viewRect.intersects(itemRect)) { firstVisibleIndex = i; QQmlExpression en(qmlContext(item), item, "name"); firstName = en.evaluate().toString(); @@ -994,7 +976,7 @@ void tst_QQuickGridView::removed_defaultLayout(QQuickGridView::Flow flow, QCOMPARE(firstName, firstVisible); // Confirm items positioned correctly and indexes correct - for (int i = firstVisibleIndex; i < model.count() && i < items.count(); ++i) { + for (int i = firstVisibleIndex; i < model.count() && i < items.size(); ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); QCOMPARE(item->position(), expectedItemPos(gridview, i, rowOffsetAfterMove)); @@ -1184,7 +1166,7 @@ void tst_QQuickGridView::addOrRemoveBeforeVisible() gridview->setCurrentIndex(0); qApp->processEvents(); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); // scroll down until item 0 is no longer drawn // (bug not triggered if we just move using content y, since that doesn't @@ -1195,7 +1177,7 @@ void tst_QQuickGridView::addOrRemoveBeforeVisible() QTRY_COMPARE(gridview->currentIndex(), 24); QTRY_COMPARE(gridview->contentY(), 220.0); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QTRY_VERIFY(!findItem<QQuickItem>(contentItem, "wrapper", 0)); // 0 shouldn't be visible if (doAdd) { @@ -1219,7 +1201,7 @@ void tst_QQuickGridView::addOrRemoveBeforeVisible() QCOMPARE(name->text(), QString("Item1")); // Confirm items positioned correctly - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QTRY_VERIFY(findItem<QQuickItem>(contentItem, "wrapper", i)); QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); @@ -1256,7 +1238,7 @@ void tst_QQuickGridView::clear() QVERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QVERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); model.clear(); gridview->forceLayout(); @@ -1309,7 +1291,7 @@ void tst_QQuickGridView::moved_defaultLayout(QQuickGridView::Flow flow, QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QQuickItem *currentItem = gridview->currentItem(); QTRY_VERIFY(currentItem != nullptr); @@ -1320,24 +1302,24 @@ void tst_QQuickGridView::moved_defaultLayout(QQuickGridView::Flow flow, count = count_ttb; } if (setContentPos(gridview, contentYRowOffset)) - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); model.moveItems(from, to, count); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); // Confirm items positioned correctly and indexes correct QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); int firstVisibleIndex = -1; - for (int i=0; i<items.count(); i++) { + for (int i=0; i<items.size(); i++) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); - if (item && delegateVisible(item)) { + if (item && isDelegateVisible(item)) { firstVisibleIndex = i; break; } } QVERIFY2(firstVisibleIndex >= 0, QTest::toString(firstVisibleIndex)); - for (int i = firstVisibleIndex; i < model.count() && i < items.count(); ++i) { + for (int i = firstVisibleIndex; i < model.count() && i < items.size(); ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item && ( (flow == QQuickGridView::FlowLeftToRight && i >= firstVisibleIndex + (3*6)) @@ -1562,9 +1544,9 @@ void tst_QQuickGridView::multipleChanges(bool condensed) QQuickGridView *gridview = findItem<QQuickGridView>(window->rootObject(), "grid"); QTRY_VERIFY(gridview != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); - for (int i=0; i<changes.count(); i++) { + for (int i=0; i<changes.size(); i++) { switch (changes[i].type) { case ListChange::Inserted: { @@ -1590,10 +1572,10 @@ void tst_QQuickGridView::multipleChanges(bool condensed) break; } if (condensed) { - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); } } - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QCOMPARE(gridview->count(), newCount); QCOMPARE(gridview->count(), model.count()); @@ -1603,7 +1585,7 @@ void tst_QQuickGridView::multipleChanges(bool condensed) QQuickText *number; QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i=0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); @@ -1836,7 +1818,7 @@ void tst_QQuickGridView::currentIndex() QQuickGridView *gridview = findItem<QQuickGridView>(window->rootObject(), "grid"); QVERIFY(gridview != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QQuickItem *contentItem = gridview->contentItem(); QVERIFY(contentItem != nullptr); @@ -1910,9 +1892,9 @@ void tst_QQuickGridView::currentIndex() // moving currentItem out of view should make it invisible gridview->setCurrentIndex(0); - QTRY_VERIFY(delegateVisible(gridview->currentItem())); + QTRY_VERIFY(isDelegateVisible(gridview->currentItem())); gridview->setContentY(200); - QTRY_VERIFY(!delegateVisible(gridview->currentItem())); + QTRY_VERIFY(!isDelegateVisible(gridview->currentItem())); delete window; } @@ -1938,7 +1920,7 @@ void tst_QQuickGridView::noCurrentIndex() QVERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QVERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); // current index should be -1 QCOMPARE(gridview->currentIndex(), -1); @@ -1983,7 +1965,7 @@ void tst_QQuickGridView::keyNavigation() gridview->setFlow(flow); gridview->setLayoutDirection(layoutDirection); gridview->setVerticalLayoutDirection(verticalLayoutDirection); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); window->requestActivate(); QVERIFY(QTest::qWaitForWindowActive(window)); @@ -2191,7 +2173,7 @@ void tst_QQuickGridView::changeFlow() QTRY_VERIFY(contentItem != nullptr); // Confirm items positioned correctly and indexes correct - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; @@ -2209,7 +2191,7 @@ void tst_QQuickGridView::changeFlow() ctxt->setContextProperty("testTopToBottom", QVariant(true)); // Confirm items positioned correctly and indexes correct - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; @@ -2227,7 +2209,7 @@ void tst_QQuickGridView::changeFlow() ctxt->setContextProperty("testRightToLeft", QVariant(true)); // Confirm items positioned correctly and indexes correct - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; @@ -2247,7 +2229,7 @@ void tst_QQuickGridView::changeFlow() QTRY_COMPARE(gridview->contentX(), 0.); // Confirm items positioned correctly and indexes correct - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; @@ -2341,17 +2323,17 @@ void tst_QQuickGridView::propertyChanges() QTRY_COMPARE(gridView->cacheBuffer(), 3); QTRY_COMPARE(gridView->flow(), QQuickGridView::FlowTopToBottom); - QTRY_COMPARE(keyNavigationWrapsSpy.count(),1); - QTRY_COMPARE(cacheBufferSpy.count(),1); - QTRY_COMPARE(flowSpy.count(),1); + QTRY_COMPARE(keyNavigationWrapsSpy.size(),1); + QTRY_COMPARE(cacheBufferSpy.size(),1); + QTRY_COMPARE(flowSpy.size(),1); gridView->setWrapEnabled(false); gridView->setCacheBuffer(3); gridView->setFlow(QQuickGridView::FlowTopToBottom); - QTRY_COMPARE(keyNavigationWrapsSpy.count(),1); - QTRY_COMPARE(cacheBufferSpy.count(),1); - QTRY_COMPARE(flowSpy.count(),1); + QTRY_COMPARE(keyNavigationWrapsSpy.size(),1); + QTRY_COMPARE(cacheBufferSpy.size(),1); + QTRY_COMPARE(flowSpy.size(),1); gridView->setFlow(QQuickGridView::FlowLeftToRight); QTRY_COMPARE(gridView->flow(), QQuickGridView::FlowLeftToRight); @@ -2364,26 +2346,26 @@ void tst_QQuickGridView::propertyChanges() QTRY_COMPARE(gridView->cacheBuffer(), 5); QTRY_COMPARE(gridView->layoutDirection(), Qt::RightToLeft); - QTRY_COMPARE(keyNavigationWrapsSpy.count(),2); - QTRY_COMPARE(cacheBufferSpy.count(),2); - QTRY_COMPARE(layoutSpy.count(),1); - QTRY_COMPARE(flowSpy.count(),2); + QTRY_COMPARE(keyNavigationWrapsSpy.size(),2); + QTRY_COMPARE(cacheBufferSpy.size(),2); + QTRY_COMPARE(layoutSpy.size(),1); + QTRY_COMPARE(flowSpy.size(),2); gridView->setWrapEnabled(true); gridView->setCacheBuffer(5); gridView->setLayoutDirection(Qt::RightToLeft); - QTRY_COMPARE(keyNavigationWrapsSpy.count(),2); - QTRY_COMPARE(cacheBufferSpy.count(),2); - QTRY_COMPARE(layoutSpy.count(),1); - QTRY_COMPARE(flowSpy.count(),2); + QTRY_COMPARE(keyNavigationWrapsSpy.size(),2); + QTRY_COMPARE(cacheBufferSpy.size(),2); + QTRY_COMPARE(layoutSpy.size(),1); + QTRY_COMPARE(flowSpy.size(),2); gridView->setFlow(QQuickGridView::FlowTopToBottom); QTRY_COMPARE(gridView->flow(), QQuickGridView::FlowTopToBottom); - QTRY_COMPARE(flowSpy.count(),3); + QTRY_COMPARE(flowSpy.size(),3); gridView->setFlow(QQuickGridView::FlowTopToBottom); - QTRY_COMPARE(flowSpy.count(),3); + QTRY_COMPARE(flowSpy.size(),3); delete window; } @@ -2423,24 +2405,24 @@ void tst_QQuickGridView::componentChanges() QVERIFY(gridView->headerItem()); QVERIFY(gridView->footerItem()); - QTRY_COMPARE(highlightSpy.count(),1); - QTRY_COMPARE(delegateSpy.count(),1); - QTRY_COMPARE(headerSpy.count(),1); - QTRY_COMPARE(footerSpy.count(),1); - QTRY_COMPARE(headerItemSpy.count(),1); - QTRY_COMPARE(footerItemSpy.count(),1); + QTRY_COMPARE(highlightSpy.size(),1); + QTRY_COMPARE(delegateSpy.size(),1); + QTRY_COMPARE(headerSpy.size(),1); + QTRY_COMPARE(footerSpy.size(),1); + QTRY_COMPARE(headerItemSpy.size(),1); + QTRY_COMPARE(footerItemSpy.size(),1); gridView->setHighlight(&component); gridView->setDelegate(&delegateComponent); gridView->setHeader(&component); gridView->setFooter(&component); - QTRY_COMPARE(highlightSpy.count(),1); - QTRY_COMPARE(delegateSpy.count(),1); - QTRY_COMPARE(headerSpy.count(),1); - QTRY_COMPARE(footerSpy.count(),1); - QTRY_COMPARE(headerItemSpy.count(),1); - QTRY_COMPARE(footerItemSpy.count(),1); + QTRY_COMPARE(highlightSpy.size(),1); + QTRY_COMPARE(delegateSpy.size(),1); + QTRY_COMPARE(headerSpy.size(),1); + QTRY_COMPARE(footerSpy.size(),1); + QTRY_COMPARE(headerItemSpy.size(),1); + QTRY_COMPARE(footerItemSpy.size(),1); delete window; } @@ -2461,13 +2443,13 @@ void tst_QQuickGridView::modelChanges() gridView->setModel(modelVariant); QTRY_COMPARE(gridView->model(), modelVariant); - QTRY_COMPARE(modelSpy.count(),1); + QTRY_COMPARE(modelSpy.size(),1); gridView->setModel(modelVariant); - QTRY_COMPARE(modelSpy.count(),1); + QTRY_COMPARE(modelSpy.size(),1); gridView->setModel(QVariant()); - QTRY_COMPARE(modelSpy.count(),2); + QTRY_COMPARE(modelSpy.size(),2); delete window; } @@ -2493,7 +2475,7 @@ void tst_QQuickGridView::positionViewAtBeginningEnd() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); // positionViewAtBeginning gridview->setContentY(150); @@ -2580,10 +2562,10 @@ void tst_QQuickGridView::positionViewAtIndex() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); window->rootObject()->setProperty("enforceRange", enforceRange); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); if (topToBottom) gridview->setContentX(initContentPos); @@ -2597,7 +2579,7 @@ void tst_QQuickGridView::positionViewAtIndex() QTRY_COMPARE(gridview->contentY(), contentPos); // Confirm items positioned correctly - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = index; i < model.count() && i < itemCount-index-1; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; @@ -2734,14 +2716,14 @@ void tst_QQuickGridView::mirroring() QCOMPARE(gridviewA->layoutDirection(), gridviewA->effectiveLayoutDirection()); // LTR != RTL - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QVERIFY(findItem<QQuickItem>(gridviewA, objectName)->x() != findItem<QQuickItem>(gridviewB, objectName)->x()); gridviewA->setProperty("layoutDirection", Qt::LeftToRight); gridviewB->setProperty("layoutDirection", Qt::LeftToRight); // LTR == LTR - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QCOMPARE(findItem<QQuickItem>(gridviewA, objectName)->x(), findItem<QQuickItem>(gridviewB, objectName)->x()); QCOMPARE(gridviewB->layoutDirection(), gridviewB->effectiveLayoutDirection()); @@ -2749,25 +2731,25 @@ void tst_QQuickGridView::mirroring() QVERIFY(gridviewB->layoutDirection() != gridviewB->effectiveLayoutDirection()); // LTR != LTR+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QVERIFY(findItem<QQuickItem>(gridviewA, objectName)->x() != findItem<QQuickItem>(gridviewB, objectName)->x()); gridviewA->setProperty("layoutDirection", Qt::RightToLeft); // RTL == LTR+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QCOMPARE(findItem<QQuickItem>(gridviewA, objectName)->x(), findItem<QQuickItem>(gridviewB, objectName)->x()); gridviewB->setProperty("layoutDirection", Qt::RightToLeft); // RTL != RTL+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QVERIFY(findItem<QQuickItem>(gridviewA, objectName)->x() != findItem<QQuickItem>(gridviewB, objectName)->x()); gridviewA->setProperty("layoutDirection", Qt::LeftToRight); // LTR == RTL+mirror - foreach (const QString objectName, objectNames) + for (const QString &objectName : std::as_const(objectNames)) QCOMPARE(findItem<QQuickItem>(gridviewA, objectName)->x(), findItem<QQuickItem>(gridviewB, objectName)->x()); delete windowA; @@ -2793,7 +2775,7 @@ void tst_QQuickGridView::resetModel() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QTRY_COMPARE(gridview->count(), model.rowCount()); @@ -2842,7 +2824,7 @@ void tst_QQuickGridView::enforceRange() QTRY_COMPARE(gridview->preferredHighlightBegin(), 100.0); QTRY_COMPARE(gridview->preferredHighlightEnd(), 100.0); QTRY_COMPARE(gridview->highlightRangeMode(), QQuickGridView::StrictlyEnforceRange); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); @@ -3025,7 +3007,7 @@ void tst_QQuickGridView::footer() gridview->setFlow(flow); gridview->setLayoutDirection(layoutDirection); gridview->setVerticalLayoutDirection(verticalLayoutDirection); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); @@ -3092,7 +3074,7 @@ void tst_QQuickGridView::footer() QSignalSpy footerItemSpy(gridview, SIGNAL(footerItemChanged())); QMetaObject::invokeMethod(window->rootObject(), "changeFooter"); - QCOMPARE(footerItemSpy.count(), 1); + QCOMPARE(footerItemSpy.size(), 1); footer = findItem<QQuickText>(contentItem, "footer"); QVERIFY(!footer); @@ -3274,7 +3256,7 @@ void tst_QQuickGridView::header() gridview->setFlow(flow); gridview->setLayoutDirection(layoutDirection); gridview->setVerticalLayoutDirection(verticalLayoutDirection); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); @@ -3298,7 +3280,7 @@ void tst_QQuickGridView::header() QCOMPARE(item->position(), firstDelegatePos); model.clear(); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QCOMPARE(header->position(), initialHeaderPos); // header should stay where it is if (flow == QQuickGridView::FlowLeftToRight) QCOMPARE(gridview->contentHeight(), header->height()); @@ -3311,7 +3293,7 @@ void tst_QQuickGridView::header() QSignalSpy headerItemSpy(gridview, SIGNAL(headerItemChanged())); QMetaObject::invokeMethod(window->rootObject(), "changeHeader"); - QCOMPARE(headerItemSpy.count(), 1); + QCOMPARE(headerItemSpy.size(), 1); header = findItem<QQuickText>(contentItem, "header"); QVERIFY(!header); @@ -3351,7 +3333,7 @@ void tst_QQuickGridView::header() gridview->setFlow(flow); gridview->setLayoutDirection(layoutDirection); gridview->setVerticalLayoutDirection(verticalLayoutDirection); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); gridview->setWidth(240); gridview->setHeight(320); @@ -3496,7 +3478,7 @@ void tst_QQuickGridView::extents() gridview->setFlow(flow); gridview->setLayoutDirection(layoutDirection); gridview->setVerticalLayoutDirection(verticalLayoutDirection); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); @@ -3544,51 +3526,46 @@ void tst_QQuickGridView::extents_data() QTest::newRow("LeftToRight, LtR, TtB") << QQuickGridView::FlowLeftToRight << Qt::LeftToRight << QQuickItemView::TopToBottom - << QPointF(0, -20) << QPointF(0, 0) - << QPointF(0, 20) << QPointF(240, 20) + << QPointF(0, -20) << QPointF(0, 0) << QPointF(0, 20) << QPointF(0, 20) << QPointF(0, -20) << QPointF(0, -20); QTest::newRow("LeftToRight, RtL, TtB") << QQuickGridView::FlowLeftToRight << Qt::RightToLeft << QQuickItemView::TopToBottom - << QPointF(0, -20) << QPointF(0, 0) - << QPointF(0, 20) << QPointF(240, 20) + << QPointF(0, -20) << QPointF(0, 0) << QPointF(0, 20) << QPointF(0, 20) << QPointF(0, -20) << QPointF(0, -20); QTest::newRow("LeftToRight, LtR, BtT") << QQuickGridView::FlowLeftToRight << Qt::LeftToRight << QQuickItemView::BottomToTop - << QPointF(0, 0) << QPointF(0, -30) - << QPointF(0, 320 - 20) << QPointF(240, 320 - 20) // content flow is reversed + << QPointF(0, 0) << QPointF(0, -30) << QPointF(0, 320 - 20) + << QPointF(0, 320 - 20) // content flow is reversed << QPointF(0, -30) << QPointF(0, (-60.0 * 10) - 30); QTest::newRow("LeftToRight, RtL, BtT") << QQuickGridView::FlowLeftToRight << Qt::RightToLeft << QQuickItemView::BottomToTop - << QPointF(0, 0) << QPointF(0, -30) - << QPointF(0, 320 - 20) << QPointF(240, 320 - 20) // content flow is reversed + << QPointF(0, 0) << QPointF(0, -30) << QPointF(0, 320 - 20) + << QPointF(0, 320 - 20) // content flow is reversed << QPointF(0, -30) << QPointF(0, (-60.0 * 10) - 30); - QTest::newRow("TopToBottom, LtR, TtB") << QQuickGridView::FlowTopToBottom << Qt::LeftToRight << QQuickItemView::TopToBottom - << QPointF(-20, 0) << QPointF(0, 0) - << QPointF(20, 0) << QPointF(20, 320) + << QPointF(-20, 0) << QPointF(0, 0) << QPointF(20, 0) << QPointF(20, 0) << QPointF(-20, 0) << QPointF(-20, 0); QTest::newRow("TopToBottom, RtL, TtB") << QQuickGridView::FlowTopToBottom << Qt::RightToLeft << QQuickItemView::TopToBottom - << QPointF(0, 0) << QPointF(-30, 0) - << QPointF(240 - 20, 0) << QPointF(240 - 20, 320) // content flow is reversed + << QPointF(0, 0) << QPointF(-30, 0) << QPointF(240 - 20, 0) + << QPointF(240 - 20, 0) // content flow is reversed << QPointF(-30, 0) << QPointF((-80.0 * 6) - 30, 0); QTest::newRow("TopToBottom, LtR, BtT") << QQuickGridView::FlowTopToBottom << Qt::LeftToRight << QQuickItemView::BottomToTop - << QPointF(-20, -320) << QPointF(0, -320) - << QPointF(20, 0) << QPointF(20, 320) + << QPointF(-20, -320) << QPointF(0, -320) << QPointF(20, 0) << QPointF(20, 0) << QPointF(-20, 0) << QPointF(-20, 0); QTest::newRow("TopToBottom, RtL, BtT") << QQuickGridView::FlowTopToBottom << Qt::RightToLeft << QQuickItemView::BottomToTop - << QPointF(0, -320) << QPointF(-30, -320) - << QPointF(240 - 20, 0) << QPointF(240 - 20, 320) // content flow is reversed + << QPointF(0, -320) << QPointF(-30, -320) << QPointF(240 - 20, 0) + << QPointF(240 - 20, 0) // content flow is reversed << QPointF(-30, 0) << QPointF((-80.0 * 6) - 30, 0); } @@ -3657,7 +3634,7 @@ void tst_QQuickGridView::resizeViewAndRepaint() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); // item at index 10 should not be currently visible QVERIFY(!findItem<QQuickItem>(contentItem, "wrapper", 10)); @@ -3670,37 +3647,37 @@ void tst_QQuickGridView::resizeViewAndRepaint() // Ensure we handle -ve sizes gridview->setHeight(-100); - QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper", false).count(), 3); + QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper", false).size(), 3); gridview->setCacheBuffer(120); - QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper", false).count(), 9); + QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper", false).size(), 9); // ensure items in cache become visible gridview->setHeight(120); - QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper", false).count(), 15); + QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper", false).size(), 15); - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), qreal((i%3)*80)); QTRY_COMPARE(item->y(), qreal((i/3)*60)); - QCOMPARE(delegateVisible(item), i < 9); // inside view visible, outside not visible + QCOMPARE(isDelegateVisible(item), i < 9); // inside view visible, outside not visible } // ensure items outside view become invisible gridview->setHeight(60); - QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper", false).count(), 12); + QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper", false).size(), 12); - itemCount = findItems<QQuickItem>(contentItem, "wrapper", false).count(); + itemCount = findItems<QQuickItem>(contentItem, "wrapper", false).size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); if (!item) qWarning() << "Item" << i << "not found"; QTRY_VERIFY(item); QTRY_COMPARE(item->x(), qreal((i%3)*80)); QTRY_COMPARE(item->y(), qreal((i/3)*60)); - QCOMPARE(delegateVisible(item), i < 6); // inside view visible, outside not visible + QCOMPARE(isDelegateVisible(item), i < 6); // inside view visible, outside not visible } delete window; @@ -3725,7 +3702,7 @@ void tst_QQuickGridView::resizeGrid() ctxt->setContextProperty("testRightToLeft", layoutDirection == Qt::RightToLeft); ctxt->setContextProperty("testBottomToTop", verticalLayoutDirection == QQuickGridView::BottomToTop); window->setSource(testFileUrl("resizegrid.qml")); - QQuickViewTestUtil::centerOnScreen(window, window->size()); + QQuickViewTestUtils::centerOnScreen(window, window->size()); window->show(); qApp->processEvents(); @@ -3738,7 +3715,7 @@ void tst_QQuickGridView::resizeGrid() // items are aligned correctly in right-to-left window->rootObject()->setWidth(260); window->rootObject()->setHeight(320); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QCOMPARE(gridview->contentX(), initialContentPos.x()); QCOMPARE(gridview->contentY(), initialContentPos.y()); @@ -3749,8 +3726,8 @@ void tst_QQuickGridView::resizeGrid() // Confirm items positioned correctly and indexes correct QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); - QVERIFY(items.count() >= 18 && items.count() <= 21); - for (int i = 0; i < model.count() && i < items.count(); ++i) { + QVERIFY(items.size() >= 18 && items.size() <= 21); + for (int i = 0; i < model.count() && i < items.size(); ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); QCOMPARE(item->position(), expectedItemPos(gridview, i, 0)); @@ -3762,7 +3739,7 @@ void tst_QQuickGridView::resizeGrid() // change from 3x5 grid to 4x7 window->rootObject()->setWidth(window->rootObject()->width() + 80); window->rootObject()->setHeight(window->rootObject()->height() + 60*2); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); // other than in LeftToRight+RightToLeft layout, the first item should not move // if view is resized @@ -3781,8 +3758,8 @@ void tst_QQuickGridView::resizeGrid() // Confirm items positioned correctly and indexes correct items = findItems<QQuickItem>(contentItem, "wrapper"); - QVERIFY(items.count() >= 28); - for (int i = 0; i < model.count() && i < items.count(); ++i) { + QVERIFY(items.size() >= 28); + for (int i = 0; i < model.count() && i < items.size(); ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); QCOMPARE(item->position(), expectedItemPos(gridview, i, 0)); @@ -3867,10 +3844,10 @@ void tst_QQuickGridView::changeColumnCount() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); // a single column of 6 items are visible - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); QCOMPARE(itemCount, 6); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); @@ -3881,8 +3858,8 @@ void tst_QQuickGridView::changeColumnCount() // now 6x3 grid is visible, plus 1 extra below for refill gridview->setWidth(240); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); QCOMPARE(itemCount, 6*3 + 1); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); @@ -3893,8 +3870,8 @@ void tst_QQuickGridView::changeColumnCount() // back to single column gridview->setWidth(100); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); QCOMPARE(itemCount, 6); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); @@ -3995,8 +3972,8 @@ void tst_QQuickGridView::onAdd() qApp->processEvents(); QVariantList result = gridview->property("addedDelegates").toList(); - QTRY_COMPARE(result.count(), items.count()); - for (int i=0; i<items.count(); i++) + QTRY_COMPARE(result.size(), items.size()); + for (int i=0; i<items.size(); i++) QCOMPARE(result[i].toString(), items[i].first); releaseView(window); @@ -4141,7 +4118,7 @@ void tst_QQuickGridView::margins() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QCOMPARE(gridview->contentX(), -30.); QCOMPARE(gridview->originX(), 0.); @@ -4219,7 +4196,7 @@ void tst_QQuickGridView::margins() // remove item before visible and check that left margin is maintained // and originX is updated gridview->setContentX(-400); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); model.removeItems(0, 4); gridview->forceLayout(); QTRY_COMPARE(model.count(), gridview->count()); @@ -4261,7 +4238,7 @@ void tst_QQuickGridView::margins() QVERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QVERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QCOMPARE(contentItem->x(), 200); QCOMPARE(contentItem->y(), 20); @@ -4332,7 +4309,7 @@ void tst_QQuickGridView::snapToRow() QQuickView *window = getView(); - QQuickViewTestUtil::moveMouseAway(window); + QQuickViewTestUtils::moveMouseAway(window); window->setSource(testFileUrl("snapToRow.qml")); window->show(); qApp->processEvents(); @@ -4343,7 +4320,7 @@ void tst_QQuickGridView::snapToRow() gridview->setFlow(flow); gridview->setLayoutDirection(layoutDirection); gridview->setHighlightRangeMode(QQuickItemView::HighlightRangeMode(highlightRangeMode)); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); @@ -4451,7 +4428,7 @@ void tst_QQuickGridView::snapOneRow() qreal flickDuration = 180 * flickSlowdown; QQuickView *window = getView(); - QQuickViewTestUtil::moveMouseAway(window); + QQuickViewTestUtils::moveMouseAway(window); window->setSource(testFileUrl("snapOneRow.qml")); window->show(); @@ -4463,7 +4440,7 @@ void tst_QQuickGridView::snapOneRow() gridview->setFlow(flow); gridview->setLayoutDirection(layoutDirection); gridview->setHighlightRangeMode(QQuickItemView::HighlightRangeMode(highlightRangeMode)); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QQuickItem *contentItem = gridview->contentItem(); QTRY_VERIFY(contentItem != nullptr); @@ -4480,7 +4457,7 @@ void tst_QQuickGridView::snapOneRow() if (QQuickItemView::HighlightRangeMode(highlightRangeMode) == QQuickItemView::StrictlyEnforceRange) { QCOMPARE(gridview->currentIndex(), 2); - QCOMPARE(currentIndexSpy.count(), 1); + QCOMPARE(currentIndexSpy.size(), 1); } // flick to end @@ -4493,7 +4470,7 @@ void tst_QQuickGridView::snapOneRow() if (QQuickItemView::HighlightRangeMode(highlightRangeMode) == QQuickItemView::StrictlyEnforceRange) { QCOMPARE(gridview->currentIndex(), 6); - QCOMPARE(currentIndexSpy.count(), 3); + QCOMPARE(currentIndexSpy.size(), 3); } if (flow == QQuickGridView::FlowLeftToRight) @@ -4516,7 +4493,7 @@ void tst_QQuickGridView::snapOneRow() if (QQuickItemView::HighlightRangeMode(highlightRangeMode) == QQuickItemView::StrictlyEnforceRange) { QCOMPARE(gridview->currentIndex(), 0); - QCOMPARE(currentIndexSpy.count(), 6); + QCOMPARE(currentIndexSpy.size(), 6); } releaseView(window); @@ -4625,12 +4602,12 @@ void tst_QQuickGridView::populateTransitions() QTRY_COMPARE(gridview->property("countPopulateTransitions").toInt(), 0); QTRY_COMPARE(gridview->property("countAddTransitions").toInt(), 18); } else { - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QCOMPARE(gridview->property("countPopulateTransitions").toInt(), 0); QCOMPARE(gridview->property("countAddTransitions").toInt(), 0); } - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i=0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); @@ -4652,7 +4629,7 @@ void tst_QQuickGridView::populateTransitions() // clear the model window->rootContext()->setContextProperty("testModel", QVariant()); QTRY_COMPARE(gridview->count(), 0); - QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper").count(), 0); + QTRY_COMPARE(findItems<QQuickItem>(contentItem, "wrapper").size(), 0); gridview->setProperty("countPopulateTransitions", 0); gridview->setProperty("countAddTransitions", 0); @@ -4661,12 +4638,12 @@ void tst_QQuickGridView::populateTransitions() for (int i = 0; i < 30; i++) model.addItem("item" + QString::number(i), ""); window->rootContext()->setContextProperty("testModel", &model); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QTRY_COMPARE(gridview->property("countPopulateTransitions").toInt(), usePopulateTransition ? 18 : 0); QTRY_COMPARE(gridview->property("countAddTransitions").toInt(), 0); - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i=0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); @@ -4684,7 +4661,7 @@ void tst_QQuickGridView::populateTransitions() QTRY_COMPARE(gridview->property("countPopulateTransitions").toInt(), usePopulateTransition ? 18 : 0); QTRY_COMPARE(gridview->property("countAddTransitions").toInt(), 0); - itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i=0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); @@ -4749,11 +4726,11 @@ void tst_QQuickGridView::addTransitions() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QVERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); if (contentYRowOffset != 0) { gridview->setContentY(contentYRowOffset * 60.0); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); } QList<QPair<QString,QString> > expectedDisplacedValues = expectedDisplacedIndexes.getModelDataValues(model); @@ -4772,7 +4749,7 @@ void tst_QQuickGridView::addTransitions() targetIndexes << i; } } - QVERIFY(expectedTargetData.count() > 0); + QVERIFY(expectedTargetData.size() > 0); } // start animation @@ -4785,7 +4762,7 @@ void tst_QQuickGridView::addTransitions() QList<QQuickItem *> targetItems = findItems<QQuickItem>(contentItem, "wrapper", targetIndexes); if (shouldAnimateTargets) { - QTRY_COMPARE(gridview->property("targetTransitionsDone").toInt(), expectedTargetData.count()); + QTRY_COMPARE(gridview->property("targetTransitionsDone").toInt(), expectedTargetData.size()); QTRY_COMPARE(gridview->property("displaceTransitionsDone").toInt(), expectedDisplacedIndexes.isValid() ? expectedDisplacedIndexes.count() : 0); @@ -4811,7 +4788,7 @@ void tst_QQuickGridView::addTransitions() QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); int firstVisibleIndex = -1; - for (int i=0; i<items.count(); i++) { + for (int i=0; i<items.size(); i++) { if (items[i]->y() >= gridview->contentY()) { QQmlExpression e(qmlContext(items[i]), items[i], "index"); firstVisibleIndex = e.evaluate().toInt(); @@ -4821,7 +4798,7 @@ void tst_QQuickGridView::addTransitions() QVERIFY2(firstVisibleIndex >= 0, QTest::toString(firstVisibleIndex)); // verify all items moved to the correct final positions - for (int i = firstVisibleIndex; i < model.count() && i < items.count(); ++i) { + for (int i = firstVisibleIndex; i < model.count() && i < items.size(); ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); QCOMPARE(item->x(), (i%3)*80.0); @@ -4958,7 +4935,7 @@ void tst_QQuickGridView::moveTransitions() if (contentYRowOffset != 0) { gridview->setContentY(contentYRowOffset * 60.0); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); } QList<QPair<QString,QString> > expectedDisplacedValues = expectedDisplacedIndexes.getModelDataValues(model); @@ -4984,7 +4961,7 @@ void tst_QQuickGridView::moveTransitions() model.moveItems(moveFrom, moveTo, moveCount); gridview->forceLayout(); - QTRY_COMPARE(gridview->property("targetTransitionsDone").toInt(), expectedTargetData.count()); + QTRY_COMPARE(gridview->property("targetTransitionsDone").toInt(), expectedTargetData.size()); QTRY_COMPARE(gridview->property("displaceTransitionsDone").toInt(), expectedDisplacedIndexes.isValid() ? expectedDisplacedIndexes.count() : 0); @@ -5008,7 +4985,7 @@ void tst_QQuickGridView::moveTransitions() QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); int firstVisibleIndex = -1; - for (int i=0; i<items.count(); i++) { + for (int i=0; i<items.size(); i++) { if (items[i]->y() >= gridview->contentY()) { QQmlExpression e(qmlContext(items[i]), items[i], "index"); firstVisibleIndex = e.evaluate().toInt(); @@ -5019,7 +4996,7 @@ void tst_QQuickGridView::moveTransitions() // verify all items moved to the correct final positions qreal pixelOffset = 60 * rowOffsetAfterMove; - for (int i=firstVisibleIndex; i < model.count() && i < items.count(); ++i) { + for (int i=firstVisibleIndex; i < model.count() && i < items.size(); ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); QCOMPARE(item->x(), (i%3)*80.0); @@ -5199,11 +5176,11 @@ void tst_QQuickGridView::removeTransitions() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QVERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); if (contentYRowOffset != 0) { gridview->setContentY(contentYRowOffset * 60.0); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); } QList<QPair<QString,QString> > expectedDisplacedValues = expectedDisplacedIndexes.getModelDataValues(model); @@ -5220,13 +5197,13 @@ void tst_QQuickGridView::removeTransitions() targetIndexes << i; } } - QVERIFY(expectedTargetData.count() > 0); + QVERIFY(expectedTargetData.size() > 0); } // calculate targetItems and expectedTargets before model changes QList<QQuickItem *> targetItems = findItems<QQuickItem>(contentItem, "wrapper", targetIndexes); QVariantMap expectedTargets; - for (int i=0; i<targetIndexes.count(); i++) + for (int i=0; i<targetIndexes.size(); i++) expectedTargets[model.name(targetIndexes[i])] = targetIndexes[i]; // start animation @@ -5235,7 +5212,7 @@ void tst_QQuickGridView::removeTransitions() QTRY_COMPARE(model.count(), gridview->count()); if (shouldAnimateTargets || expectedDisplacedIndexes.isValid()) { - QTRY_COMPARE(gridview->property("targetTransitionsDone").toInt(), expectedTargetData.count()); + QTRY_COMPARE(gridview->property("targetTransitionsDone").toInt(), expectedTargetData.size()); QTRY_COMPARE(gridview->property("displaceTransitionsDone").toInt(), expectedDisplacedIndexes.isValid() ? expectedDisplacedIndexes.count() : 0); @@ -5260,9 +5237,9 @@ void tst_QQuickGridView::removeTransitions() } QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); - int itemCount = items.count(); + int itemCount = items.size(); int firstVisibleIndex = -1; - for (int i=0; i<items.count(); i++) { + for (int i=0; i<items.size(); i++) { QQmlExpression e(qmlContext(items[i]), items[i], "index"); int index = e.evaluate().toInt(); if (firstVisibleIndex < 0 && items[i]->y() >= gridview->contentY()) @@ -5417,7 +5394,7 @@ void tst_QQuickGridView::displacedTransitions() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QVERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); QList<QPair<QString,QString> > expectedDisplacedValues = expectedDisplacedIndexes.getModelDataValues(model); gridview->setProperty("displaceTransitionsDone", false); @@ -5438,7 +5415,7 @@ void tst_QQuickGridView::displacedTransitions() break; case ListChange::Moved: model.moveItems(change.index, change.to, change.count); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); break; case ListChange::SetCurrent: case ListChange::SetContentY: @@ -5457,15 +5434,15 @@ void tst_QQuickGridView::displacedTransitions() QTRY_VERIFY(gridview->property("displaceTransitionsDone").toBool()); // check the correct number of target items and indexes were received - QCOMPARE(resultTargetIndexes.count(), expectedDisplacedIndexes.count()); - for (int i=0; i<resultTargetIndexes.count(); i++) - QCOMPARE(resultTargetIndexes[i].value<QList<int> >().count(), change.count); - QCOMPARE(resultTargetItems.count(), expectedDisplacedIndexes.count()); - for (int i=0; i<resultTargetItems.count(); i++) - QCOMPARE(resultTargetItems[i].toList().count(), change.count); + QCOMPARE(resultTargetIndexes.size(), expectedDisplacedIndexes.count()); + for (int i=0; i<resultTargetIndexes.size(); i++) + QCOMPARE(resultTargetIndexes[i].value<QList<int> >().size(), change.count); + QCOMPARE(resultTargetItems.size(), expectedDisplacedIndexes.count()); + for (int i=0; i<resultTargetItems.size(); i++) + QCOMPARE(resultTargetItems[i].toList().size(), change.count); } else { - QCOMPARE(resultTargetIndexes.count(), 0); - QCOMPARE(resultTargetItems.count(), 0); + QCOMPARE(resultTargetIndexes.size(), 0); + QCOMPARE(resultTargetItems.size(), 0); } if (change.type == ListChange::Inserted && useAddDisplaced && addDisplacedEnabled) @@ -5492,7 +5469,7 @@ void tst_QQuickGridView::displacedTransitions() // verify all items moved to the correct final positions QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); - for (int i=0; i < model.count() && i < items.count(); ++i) { + for (int i=0; i < model.count() && i < items.size(); ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); QCOMPARE(item->x(), (i%3)*80.0); @@ -5636,16 +5613,16 @@ void tst_QQuickGridView::multipleTransitions() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QVERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); if (contentY != 0) { gridview->setContentY(contentY); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); } int timeBetweenActions = window->rootObject()->property("timeBetweenActions").toInt(); - for (int i=0; i<changes.count(); i++) { + for (int i=0; i<changes.size(); i++) { switch (changes[i].type) { case ListChange::Inserted: { @@ -5655,7 +5632,7 @@ void tst_QQuickGridView::multipleTransitions() model.insertItems(changes[i].index, targetItems); gridview->forceLayout(); QTRY_COMPARE(model.count(), gridview->count()); - if (i == changes.count() - 1) { + if (i == changes.size() - 1) { QTRY_VERIFY(!gridview->property("runningAddTargets").toBool()); QTRY_VERIFY(!gridview->property("runningAddDisplaced").toBool()); } else { @@ -5667,7 +5644,7 @@ void tst_QQuickGridView::multipleTransitions() model.removeItems(changes[i].index, changes[i].count); gridview->forceLayout(); QTRY_COMPARE(model.count(), gridview->count()); - if (i == changes.count() - 1) { + if (i == changes.size() - 1) { QTRY_VERIFY(!gridview->property("runningRemoveTargets").toBool()); QTRY_VERIFY(!gridview->property("runningRemoveDisplaced").toBool()); } else { @@ -5677,8 +5654,8 @@ void tst_QQuickGridView::multipleTransitions() case ListChange::Moved: model.moveItems(changes[i].index, changes[i].to, changes[i].count); gridview->forceLayout(); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); - if (i == changes.count() - 1) { + QVERIFY(QQuickTest::qWaitForPolish(gridview)); + if (i == changes.size() - 1) { QTRY_VERIFY(!gridview->property("runningMoveTargets").toBool()); QTRY_VERIFY(!gridview->property("runningMoveDisplaced").toBool()); } else { @@ -5687,12 +5664,12 @@ void tst_QQuickGridView::multipleTransitions() break; case ListChange::SetCurrent: gridview->setCurrentIndex(changes[i].index); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); gridview->forceLayout(); break; case ListChange::SetContentY: gridview->setContentY(changes[i].pos); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); gridview->forceLayout(); break; case ListChange::Polish: @@ -5702,7 +5679,7 @@ void tst_QQuickGridView::multipleTransitions() QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); int firstVisibleIndex = -1; - for (int i=0; i<items.count(); i++) { + for (int i=0; i<items.size(); i++) { if (items[i]->y() >= contentY) { QQmlExpression e(qmlContext(items[i]), items[i], "index"); firstVisibleIndex = e.evaluate().toInt(); @@ -5713,7 +5690,7 @@ void tst_QQuickGridView::multipleTransitions() QVERIFY2(firstVisibleIndex >= 0, QTest::toString(firstVisibleIndex)); // verify all items moved to the correct final positions - int itemCount = findItems<QQuickItem>(contentItem, "wrapper").count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper").size(); for (int i=firstVisibleIndex; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); @@ -5806,7 +5783,7 @@ void tst_QQuickGridView::multipleDisplaced() QTRY_VERIFY(gridview != nullptr); QQuickItem *contentItem = gridview->contentItem(); QVERIFY(contentItem != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); model.moveItems(12, 8, 1); QTest::qWait(window->rootObject()->property("duration").toInt() / 2); @@ -5814,14 +5791,15 @@ void tst_QQuickGridView::multipleDisplaced() QTRY_VERIFY(gridview->property("displaceTransitionsDone").toBool()); QVariantMap transitionsStarted = gridview->property("displaceTransitionsStarted").toMap(); - foreach (const QString &name, transitionsStarted.keys()) { + const QStringList keys = transitionsStarted.keys(); + for (const QString &name : keys) { QVERIFY2(transitionsStarted[name] == 1, QTest::toString(QString("%1 was displaced %2 times").arg(name).arg(transitionsStarted[name].toInt()))); } // verify all items moved to the correct final positions QList<QQuickItem*> items = findItems<QQuickItem>(contentItem, "wrapper"); - for (int i=0; i < model.count() && i < items.count(); ++i) { + for (int i=0; i < model.count() && i < items.size(); ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QVERIFY2(item, QTest::toString(QString("Item %1 not found").arg(i))); QTRY_COMPARE(item->x(), (i%3)*80.0); @@ -5856,7 +5834,7 @@ void tst_QQuickGridView::regression_QTBUG_57225() QQuickGridView *gridview = findItem<QQuickGridView>(window->rootObject(), "grid"); QVERIFY(gridview != nullptr); - QVERIFY(QQuickTest::qWaitForItemPolished(gridview)); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); model.removeItems(removeIndex, removeCount); QTRY_VERIFY(gridview->property("animationDone").toBool()); @@ -5915,7 +5893,7 @@ void tst_QQuickGridView::cacheBuffer() QVERIFY(gridview->model() != 0); // Confirm items positioned correctly - int itemCount = findItems<QQuickItem>(contentItem, "wrapper", false).count(); + int itemCount = findItems<QQuickItem>(contentItem, "wrapper", false).size(); for (int i = 0; i < model.count() && i < itemCount; ++i) { QQuickItem *item = findItem<QQuickItem>(contentItem, "wrapper", i); QTRY_COMPARE(item->x(), (i%3)*80.0); @@ -5945,7 +5923,7 @@ void tst_QQuickGridView::cacheBuffer() } int newItemCount = 0; - newItemCount = findItems<QQuickItem>(contentItem, "wrapper", false).count(); + newItemCount = findItems<QQuickItem>(contentItem, "wrapper", false).size(); // Confirm items positioned correctly for (int i = 0; i < model.count() && i < newItemCount; ++i) { @@ -6072,23 +6050,23 @@ void tst_QQuickGridView::unrequestedVisibility() QQuickItem *item; QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 1)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 1)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 11)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 11)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 9)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 10)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 3)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 4)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); rightview->setCurrentIndex(0); @@ -6096,9 +6074,9 @@ void tst_QQuickGridView::unrequestedVisibility() QTRY_COMPARE(rightview->contentY(), 0.0); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 1)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 1)); - QTRY_COMPARE(delegateVisible(item), true); + QTRY_COMPARE(isDelegateVisible(item), true); QVERIFY(!findItem<QQuickItem>(leftContent, "wrapper", 11)); QVERIFY(!findItem<QQuickItem>(rightContent, "wrapper", 11)); @@ -6109,98 +6087,98 @@ void tst_QQuickGridView::unrequestedVisibility() QTRY_COMPARE(rightview->contentY(), 0.0); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 1)); - QTRY_COMPARE(delegateVisible(item), false); + QTRY_COMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 1)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 11)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 11)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 3)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 5)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 9)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 10)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); // move a non-visible item into view model.moveItems(10, 9, 1); - QVERIFY(QQuickTest::qWaitForItemPolished(leftview)); + QVERIFY(QQuickTest::qWaitForPolish(leftview)); QTRY_VERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 1)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 1)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 11)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 11)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 3)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 5)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 9)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 10)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); // move a visible item out of view model.moveItems(5, 3, 1); - QVERIFY(QQuickTest::qWaitForItemPolished(leftview)); + QVERIFY(QQuickTest::qWaitForPolish(leftview)); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 3)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 5)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 9)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 10)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); // move a non-visible item into view model.moveItems(3, 5, 1); - QVERIFY(QQuickTest::qWaitForItemPolished(leftview)); + QVERIFY(QQuickTest::qWaitForPolish(leftview)); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 3)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 5)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 9)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 10)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); // move a visible item out of view model.moveItems(9, 10, 1); - QVERIFY(QQuickTest::qWaitForItemPolished(leftview)); + QVERIFY(QQuickTest::qWaitForPolish(leftview)); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 3)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 5)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 9)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 10)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); // move a non-visible item into view model.moveItems(10, 9, 1); - QVERIFY(QQuickTest::qWaitForItemPolished(leftview)); + QVERIFY(QQuickTest::qWaitForPolish(leftview)); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 3)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); QVERIFY(item = findItem<QQuickItem>(leftContent, "wrapper", 5)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 9)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(rightContent, "wrapper", 10)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); delete window; } @@ -6423,7 +6401,7 @@ QList<int> tst_QQuickGridView::toIntList(const QVariantList &list) { QList<int> ret; bool ok = true; - for (int i=0; i<list.count(); i++) { + for (int i=0; i<list.size(); i++) { ret << list[i].toInt(&ok); if (!ok) qWarning() << "tst_QQuickGridView::toIntList(): not a number:" << list[i]; @@ -6435,7 +6413,7 @@ QList<int> tst_QQuickGridView::toIntList(const QVariantList &list) void tst_QQuickGridView::matchIndexLists(const QVariantList &indexLists, const QList<int> &expectedIndexes) { const QSet<int> expectedIndexSet(expectedIndexes.cbegin(), expectedIndexes.cend()); - for (int i=0; i<indexLists.count(); i++) { + for (int i=0; i<indexLists.size(); i++) { const auto ¤tList = indexLists[i].value<QList<int> >(); const QSet<int> current(currentList.cbegin(), currentList.cend()); if (current != expectedIndexSet) @@ -6455,19 +6433,19 @@ void tst_QQuickGridView::matchItemsAndIndexes(const QVariantMap &items, const Qa qDebug() << itemIndex; QCOMPARE(model.name(itemIndex), name); } - QCOMPARE(items.count(), expectedIndexes.count()); + QCOMPARE(items.size(), expectedIndexes.size()); } void tst_QQuickGridView::matchItemLists(const QVariantList &itemLists, const QList<QQuickItem *> &expectedItems) { - for (int i=0; i<itemLists.count(); i++) { + for (int i=0; i<itemLists.size(); i++) { QVariantList current = itemLists[i].toList(); - for (int j=0; j<current.count(); j++) { + for (int j=0; j<current.size(); j++) { QQuickItem *o = qobject_cast<QQuickItem*>(current[j].value<QObject*>()); QVERIFY2(o, QTest::toString(QString("Invalid actual item at %1").arg(j))); QVERIFY2(expectedItems.contains(o), QTest::toString(QString("Cannot match item %1").arg(j))); } - QCOMPARE(current.count(), expectedItems.count()); + QCOMPARE(current.size(), expectedItems.size()); } } @@ -6488,22 +6466,22 @@ void tst_QQuickGridView::displayMargin() QQuickItem *item97; QVERIFY(item0 = findItem<QQuickItem>(content, "delegate", 0)); - QCOMPARE(delegateVisible(item0), true); + QCOMPARE(isDelegateVisible(item0), true); // the 97th item should be within the end margin QVERIFY(item97 = findItem<QQuickItem>(content, "delegate", 96)); - QCOMPARE(delegateVisible(item97), true); + QCOMPARE(isDelegateVisible(item97), true); // GridView staggers item creation, so the 118th item should be outside the end margin. QVERIFY(findItem<QQuickItem>(content, "delegate", 117) == nullptr); // the first delegate should still be within the begin margin gridview->positionViewAtIndex(20, QQuickGridView::Beginning); - QCOMPARE(delegateVisible(item0), true); + QCOMPARE(isDelegateVisible(item0), true); // the first delegate should now be outside the begin margin gridview->positionViewAtIndex(36, QQuickGridView::Beginning); - QCOMPARE(delegateVisible(item0), false); + QCOMPARE(isDelegateVisible(item0), false); delete window; } @@ -6527,26 +6505,26 @@ void tst_QQuickGridView::negativeDisplayMargin() QVERIFY(content != nullptr); QVERIFY(item = findItem<QQuickItem>(content, "delegate", 0)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(content, "delegate", 7)); - QCOMPARE(delegateVisible(item), true); + QCOMPARE(isDelegateVisible(item), true); QVERIFY(item = findItem<QQuickItem>(content, "delegate", 8)); - QCOMPARE(delegateVisible(item), false); + QCOMPARE(isDelegateVisible(item), false); // Flick until contentY means that delegate8 should be visible listview->setProperty("contentY", 500); QVERIFY(item = findItem<QQuickItem>(content, "delegate", 8)); - QTRY_COMPARE(delegateVisible(item), true); + QTRY_COMPARE(isDelegateVisible(item), true); listview->setProperty("contentY", 1000); QTRY_VERIFY(item = findItem<QQuickItem>(content, "delegate", 14)); - QTRY_COMPARE(delegateVisible(item), true); + QTRY_COMPARE(isDelegateVisible(item), true); listview->setProperty("contentY", 0); QVERIFY(item = findItem<QQuickItem>(content, "delegate", 4)); - QTRY_COMPARE(delegateVisible(item), true); + QTRY_COMPARE(isDelegateVisible(item), true); delete window; } @@ -6571,11 +6549,11 @@ void tst_QQuickGridView::jsArrayChange() } view->setModel(QVariant::fromValue(array1)); - QCOMPARE(spy.count(), 1); + QCOMPARE(spy.size(), 1); // no change view->setModel(QVariant::fromValue(array2)); - QCOMPARE(spy.count(), 1); + QCOMPARE(spy.size(), 1); } void tst_QQuickGridView::contentHeightWithDelayRemove_data() @@ -6695,6 +6673,34 @@ void tst_QQuickGridView::QTBUG_49218() delete window; } +void tst_QQuickGridView::positionViewAtBeginningAfterResizingCells() +{ + // Check that positionViewAtBeginning() ends up showing row 0, even + // if the cells are resized while the viewport is deep down in the list (QTBUG-91461). + std::unique_ptr<QQuickView> window(createView()); + window->setSource(testFileUrl("qtbug91461.qml")); + window->show(); + QVERIFY(QTest::qWaitForWindowExposed(window.get())); + + QQuickItem *rootItem = qobject_cast<QQuickItem*>(window->rootObject()); + QQuickGridView *gridview = qobject_cast<QQuickGridView *>(rootItem->childItems().first()); + QVERIFY(gridview != nullptr); + + gridview->positionViewAtEnd(); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); + rootItem->setProperty("cellSize", 200); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); + gridview->positionViewAtBeginning(); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); + + const QPointF topLeftCorner = window->contentItem()->mapToItem(gridview->contentItem(), QPointF(20, 20)); + const auto item0 = gridview->itemAt(topLeftCorner.x(), topLeftCorner.y()); + QVERIFY(item0); + + const int index = qmlContext(item0)->contextProperty("index").toInt(); + QCOMPARE(index, 0); +} + void tst_QQuickGridView::keyNavigationEnabled() { QScopedPointer<QQuickView> window(createView()); @@ -6716,7 +6722,7 @@ void tst_QQuickGridView::keyNavigationEnabled() // of disabling both mouse and keyboard interaction. QSignalSpy enabledSpy(gridView, SIGNAL(keyNavigationEnabledChanged())); gridView->setInteractive(false); - QCOMPARE(enabledSpy.count(), 1); + QCOMPARE(enabledSpy.size(), 1); QCOMPARE(gridView->isKeyNavigationEnabled(), false); flick(window.data(), QPoint(200, 175), QPoint(200, 50), 100); @@ -6729,17 +6735,17 @@ void tst_QQuickGridView::keyNavigationEnabled() // Check that isKeyNavigationEnabled implicitly follows the value of interactive. gridView->setInteractive(true); - QCOMPARE(enabledSpy.count(), 2); + QCOMPARE(enabledSpy.size(), 2); QCOMPARE(gridView->isKeyNavigationEnabled(), true); // Change it back again for the next check. gridView->setInteractive(false); - QCOMPARE(enabledSpy.count(), 3); + QCOMPARE(enabledSpy.size(), 3); QCOMPARE(gridView->isKeyNavigationEnabled(), false); // Setting keyNavigationEnabled to true shouldn't enable mouse interaction. gridView->setKeyNavigationEnabled(true); - QCOMPARE(enabledSpy.count(), 4); + QCOMPARE(enabledSpy.size(), 4); flick(window.data(), QPoint(200, 175), QPoint(200, 50), 100); QVERIFY(!gridView->isMoving()); QCOMPARE(gridView->contentY(), 0.0); @@ -6752,7 +6758,7 @@ void tst_QQuickGridView::keyNavigationEnabled() // Changing interactive now shouldn't result in keyNavigationEnabled changing, // since we broke the "binding". gridView->setInteractive(true); - QCOMPARE(enabledSpy.count(), 4); + QCOMPARE(enabledSpy.size(), 4); // Keyboard interaction shouldn't work now. gridView->setKeyNavigationEnabled(false); @@ -6808,6 +6814,25 @@ void tst_QQuickGridView::QTBUG_86255() QTRY_COMPARE(view->isFlicking(), false); } +void tst_QQuickGridView::resizeDynamicCellWidthRtL() +{ + QScopedPointer<QQuickView> window(createView()); + QTRY_VERIFY(window); + window->setSource(testFileUrl("qtbug92998.qml")); + window->show(); + QVERIFY(QTest::qWaitForWindowExposed(window.data())); + + QQuickGridView *gridview = findItem<QQuickGridView>(window->rootObject(), "gridview"); + QTRY_VERIFY(gridview != nullptr); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); + gridview->setWidth(460); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); + QTRY_COMPARE(gridview->contentX(), 0.f); + gridview->setWidth(360); + QVERIFY(QQuickTest::qWaitForPolish(gridview)); + QTRY_COMPARE(gridview->contentX(), 0.f); +} + void tst_QQuickGridView::releaseItems() { QScopedPointer<QQuickView> view(createView()); @@ -6820,6 +6845,36 @@ void tst_QQuickGridView::releaseItems() gridview->setModel(123); } +void tst_QQuickGridView::removeAccessibleChildrenEvenIfReusingItems() +{ + auto window = std::make_unique<QQuickView>(); + window->setSource(testFileUrl("removeAccessibleChildrenEvenIfReusingItems.qml")); + window->show(); + + QQuickItem *contentItem = window->contentItem(); + QVERIFY(contentItem); + QQuickItem *rootItem = contentItem->childItems().first(); + QVERIFY(rootItem); + + QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(window.get()); + QVERIFY(iface); + QAccessibleInterface *gridView = iface->child(0)->child(0); + QCOMPARE(gridView->childCount(), 4); + QCOMPARE(gridView->child(0)->text(QAccessible::Text::Name), "item11"); + QCOMPARE(gridView->child(1)->text(QAccessible::Text::Name), "item12"); + QCOMPARE(gridView->child(2)->text(QAccessible::Text::Name), "item13"); + QCOMPARE(gridView->child(3)->text(QAccessible::Text::Name), "item14"); + + QVERIFY(QMetaObject::invokeMethod(window->rootObject(), "replaceItems")); + + QCOMPARE(gridView->childCount(), 4); + QTRY_COMPARE(gridView->child(0)->text(QAccessible::Text::Name), "item21"); + QTRY_COMPARE(gridView->child(1)->text(QAccessible::Text::Name), "item22"); + QTRY_COMPARE(gridView->child(2)->text(QAccessible::Text::Name), "item23"); + QTRY_COMPARE(gridView->child(3)->text(QAccessible::Text::Name), "item24"); +} + + QTEST_MAIN(tst_QQuickGridView) #include "tst_qquickgridview.moc" |