aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2011-08-01 13:09:10 +1000
committerQt by Nokia <qt-info@nokia.com>2011-08-02 10:46:54 +0200
commit6494f5c5aaec82cc5bcfd42de559d723edef57b1 (patch)
tree40e0cf580cfd842a40b9a83d03f09cf8b30e3b78 /tests
parent09f4bd20d7514f229338667effdf8519f1722b3f (diff)
Add a currentItem property to PathView.
Task-number: QTBUG-16347 Change-Id: I6df4b2d7c5f325e84d54ed5befd66e20b64cc7e0 Reviewed-on: http://codereview.qt.nokia.com/2421 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/declarative/qsgpathview/data/pathview0.qml1
-rw-r--r--tests/auto/declarative/qsgpathview/tst_qsgpathview.cpp58
2 files changed, 59 insertions, 0 deletions
diff --git a/tests/auto/declarative/qsgpathview/data/pathview0.qml b/tests/auto/declarative/qsgpathview/data/pathview0.qml
index 72b71a3c80..8b9378163f 100644
--- a/tests/auto/declarative/qsgpathview/data/pathview0.qml
+++ b/tests/auto/declarative/qsgpathview/data/pathview0.qml
@@ -17,6 +17,7 @@ Rectangle {
Rectangle {
id: wrapper
objectName: "wrapper"
+ property bool onPath: PathView.onPath
height: root.delegateHeight
width: root.delegateWidth
scale: root.delegateScale
diff --git a/tests/auto/declarative/qsgpathview/tst_qsgpathview.cpp b/tests/auto/declarative/qsgpathview/tst_qsgpathview.cpp
index 91f6491493..00202f7436 100644
--- a/tests/auto/declarative/qsgpathview/tst_qsgpathview.cpp
+++ b/tests/auto/declarative/qsgpathview/tst_qsgpathview.cpp
@@ -423,6 +423,7 @@ void tst_QSGPathView::dataModel()
QTRY_COMPARE(findItems<QSGItem>(pathview, "wrapper").count(), 14);
QVERIFY(pathview->currentIndex() == 0);
+ QCOMPARE(pathview->currentItem(), findItem<QSGItem>(pathview, "wrapper", 0));
QSGText *text = findItem<QSGText>(pathview, "myText", 4);
QVERIFY(text);
@@ -433,6 +434,7 @@ void tst_QSGPathView::dataModel()
text = findItem<QSGText>(pathview, "myText", 2);
QVERIFY(text);
QCOMPARE(text->text(), model.name(2));
+ QCOMPARE(pathview->currentItem(), findItem<QSGItem>(pathview, "wrapper", 0));
testObject->setPathItemCount(5);
QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
@@ -446,12 +448,15 @@ void tst_QSGPathView::dataModel()
QVERIFY(testItem == 0);
pathview->setCurrentIndex(1);
+ QCOMPARE(pathview->currentItem(), findItem<QSGItem>(pathview, "wrapper", 1));
+ QTest::qWait(100);
model.insertItem(2, "pink", "2");
QTest::qWait(100);
QTRY_COMPARE(findItems<QSGItem>(pathview, "wrapper").count(), 5);
QVERIFY(pathview->currentIndex() == 1);
+ QCOMPARE(pathview->currentItem(), findItem<QSGItem>(pathview, "wrapper", 1));
text = findItem<QSGText>(pathview, "myText", 2);
QVERIFY(text);
@@ -462,6 +467,7 @@ void tst_QSGPathView::dataModel()
text = findItem<QSGText>(pathview, "myText", 3);
QVERIFY(text);
QCOMPARE(text->text(), model.name(3));
+ QCOMPARE(pathview->currentItem(), findItem<QSGItem>(pathview, "wrapper", 1));
model.moveItem(3, 5);
QTRY_COMPARE(findItems<QSGItem>(pathview, "wrapper").count(), 5);
@@ -469,6 +475,7 @@ void tst_QSGPathView::dataModel()
foreach (QSGItem *item, items) {
QVERIFY(item->property("onPath").toBool());
}
+ QCOMPARE(pathview->currentItem(), findItem<QSGItem>(pathview, "wrapper", 1));
// QTBUG-14199
pathview->setOffset(7);
@@ -578,30 +585,81 @@ void tst_QSGPathView::setCurrentIndex()
QTRY_COMPARE(firstItem->pos() + offset, start);
QCOMPARE(canvas->rootObject()->property("currentA").toInt(), 2);
QCOMPARE(canvas->rootObject()->property("currentB").toInt(), 2);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(true));
pathview->decrementCurrentIndex();
QTRY_COMPARE(pathview->currentIndex(), 1);
firstItem = findItem<QSGRectangle>(pathview, "wrapper", 1);
QVERIFY(firstItem);
QTRY_COMPARE(firstItem->pos() + offset, start);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(true));
pathview->decrementCurrentIndex();
QTRY_COMPARE(pathview->currentIndex(), 0);
firstItem = findItem<QSGRectangle>(pathview, "wrapper", 0);
QVERIFY(firstItem);
QTRY_COMPARE(firstItem->pos() + offset, start);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(true));
pathview->decrementCurrentIndex();
QTRY_COMPARE(pathview->currentIndex(), 3);
firstItem = findItem<QSGRectangle>(pathview, "wrapper", 3);
QVERIFY(firstItem);
QTRY_COMPARE(firstItem->pos() + offset, start);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(true));
pathview->incrementCurrentIndex();
QTRY_COMPARE(pathview->currentIndex(), 0);
firstItem = findItem<QSGRectangle>(pathview, "wrapper", 0);
QVERIFY(firstItem);
QTRY_COMPARE(firstItem->pos() + offset, start);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(true));
+
+ // Check the current item is still created when outside the bounds of pathItemCount.
+ pathview->setPathItemCount(2);
+ pathview->setHighlightRangeMode(QSGPathView::NoHighlightRange);
+ QVERIFY(findItem<QSGRectangle>(pathview, "wrapper", 0));
+ QVERIFY(findItem<QSGRectangle>(pathview, "wrapper", 1));
+ QVERIFY(!findItem<QSGRectangle>(pathview, "wrapper", 2));
+ QVERIFY(!findItem<QSGRectangle>(pathview, "wrapper", 3));
+
+ pathview->setCurrentIndex(2);
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 2);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(false));
+
+ pathview->decrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 1);
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 1);
+ QVERIFY(firstItem);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(true));
+
+ pathview->decrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 0);
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(true));
+
+ pathview->decrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 3);
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 3);
+ QVERIFY(firstItem);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(false));
+
+ pathview->incrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 0);
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QCOMPARE(pathview->currentItem(), firstItem);
+ QCOMPARE(firstItem->property("onPath"), QVariant(true));
delete canvas;
}