aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2012-01-06 09:58:27 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-06 03:56:26 +0100
commit8e0ea24115bcc9bf88ff09572feb05493ebc35c4 (patch)
treeaeaaf11e9cb4237a9c7f3a5727df5cbe8ad27da8 /tests
parentc13098fa6e0dcaca1022f1c50ced6cba4d5f7168 (diff)
Add itemAt(x,y) function to GridView and ListView.
Task-number: QTBUG-21592 Change-Id: I3169e789da701ce261250421239584abd7f29b57 Reviewed-by: Bea Lam <bea.lam@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qtquick2/qquickgridview/tst_qquickgridview.cpp34
-rw-r--r--tests/auto/qtquick2/qquicklistview/tst_qquicklistview.cpp34
2 files changed, 54 insertions, 14 deletions
diff --git a/tests/auto/qtquick2/qquickgridview/tst_qquickgridview.cpp b/tests/auto/qtquick2/qquickgridview/tst_qquickgridview.cpp
index a4a7679471..fa42ddbbf1 100644
--- a/tests/auto/qtquick2/qquickgridview/tst_qquickgridview.cpp
+++ b/tests/auto/qtquick2/qquickgridview/tst_qquickgridview.cpp
@@ -103,7 +103,8 @@ private slots:
void header();
void header_data();
void resizeViewAndRepaint();
- void indexAt();
+ void indexAt_itemAt_data();
+ void indexAt_itemAt();
void onAdd();
void onAdd_data();
void onRemove();
@@ -2986,8 +2987,25 @@ void tst_QQuickGridView::resizeViewAndRepaint()
delete canvas;
}
-void tst_QQuickGridView::indexAt()
+void tst_QQuickGridView::indexAt_itemAt_data()
{
+ QTest::addColumn<qreal>("x");
+ QTest::addColumn<qreal>("y");
+ QTest::addColumn<int>("index");
+
+ QTest::newRow("Item 0 - 0, 0") << 0. << 0. << 0;
+ QTest::newRow("Item 0 - 79, 59") << 79. << 59. << 0;
+ QTest::newRow("Item 1 - 80, 0") << 80. << 0. << 1;
+ QTest::newRow("Item 3 - 0, 60") << 0. << 60. << 3;
+ QTest::newRow("No Item - 240, 0") << 240. << 0. << -1;
+}
+
+void tst_QQuickGridView::indexAt_itemAt()
+{
+ QFETCH(qreal, x);
+ QFETCH(qreal, y);
+ QFETCH(int, index);
+
QQuickView *canvas = createView();
TestModel model;
@@ -3015,11 +3033,13 @@ void tst_QQuickGridView::indexAt()
QTRY_COMPARE(gridview->count(), model.count());
- QCOMPARE(gridview->indexAt(0, 0), 0);
- QCOMPARE(gridview->indexAt(79, 59), 0);
- QCOMPARE(gridview->indexAt(80, 0), 1);
- QCOMPARE(gridview->indexAt(0, 60), 3);
- QCOMPARE(gridview->indexAt(240, 0), -1);
+ QQuickItem *item = 0;
+ if (index >= 0) {
+ item = findItem<QQuickItem>(contentItem, "wrapper", index);
+ QVERIFY(item);
+ }
+ QCOMPARE(gridview->indexAt(x, y), index);
+ QVERIFY(gridview->itemAt(x, y) == item);
delete canvas;
}
diff --git a/tests/auto/qtquick2/qquicklistview/tst_qquicklistview.cpp b/tests/auto/qtquick2/qquicklistview/tst_qquicklistview.cpp
index 2e03a14c0e..7312e4403d 100644
--- a/tests/auto/qtquick2/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/qtquick2/qquicklistview/tst_qquicklistview.cpp
@@ -138,7 +138,8 @@ private slots:
void resizeDelegate();
void resizeFirstDelegate();
void QTBUG_16037();
- void indexAt();
+ void indexAt_itemAt_data();
+ void indexAt_itemAt();
void incrementalModel();
void onAdd();
void onAdd_data();
@@ -3686,8 +3687,25 @@ void tst_QQuickListView::QTBUG_16037()
delete canvas;
}
-void tst_QQuickListView::indexAt()
+void tst_QQuickListView::indexAt_itemAt_data()
{
+ QTest::addColumn<qreal>("x");
+ QTest::addColumn<qreal>("y");
+ QTest::addColumn<int>("index");
+
+ QTest::newRow("Item 0 - 0, 0") << 0. << 0. << 0;
+ QTest::newRow("Item 0 - 0, 19") << 0. << 19. << 0;
+ QTest::newRow("Item 0 - 239, 19") << 239. << 19. << 0;
+ QTest::newRow("Item 1 - 0, 20") << 0. << 20. << 1;
+ QTest::newRow("No Item - 240, 20") << 240. << 20. << -1;
+}
+
+void tst_QQuickListView::indexAt_itemAt()
+{
+ QFETCH(qreal, x);
+ QFETCH(qreal, y);
+ QFETCH(int, index);
+
QQuickView *canvas = createView();
TestModel model;
@@ -3709,11 +3727,13 @@ void tst_QQuickListView::indexAt()
QQuickItem *contentItem = listview->contentItem();
QTRY_VERIFY(contentItem != 0);
- QCOMPARE(listview->indexAt(0,0), 0);
- QCOMPARE(listview->indexAt(0,19), 0);
- QCOMPARE(listview->indexAt(239,19), 0);
- QCOMPARE(listview->indexAt(0,20), 1);
- QCOMPARE(listview->indexAt(240,20), -1);
+ QQuickItem *item = 0;
+ if (index >= 0) {
+ item = findItem<QQuickItem>(contentItem, "wrapper", index);
+ QVERIFY(item);
+ }
+ QCOMPARE(listview->indexAt(x,y), index);
+ QVERIFY(listview->itemAt(x,y) == item);
delete canvas;
delete testObject;