summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorStephen Kelly <stephen.kelly@kdab.com>2012-08-09 14:49:38 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-10 21:59:47 +0200
commit146b7a9c8bf4ca93488099a19853ca3a47df08cd (patch)
tree100b8d03fbdbf496993f6b83249a8295c0a4c072 /tests
parent59cd316d6c12df60297347ddc10f29e19a241066 (diff)
Take scroll position into account when painting drag pixmap.
Task-number: QTBUG-26793 Change-Id: Ic19cb6581cd5838d26713998e152772a5d12da4f Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/widgets/itemviews/qlistview/qlistview.pro2
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp41
2 files changed, 42 insertions, 1 deletions
diff --git a/tests/auto/widgets/itemviews/qlistview/qlistview.pro b/tests/auto/widgets/itemviews/qlistview/qlistview.pro
index 6820370cea..1fb5b7f767 100644
--- a/tests/auto/widgets/itemviews/qlistview/qlistview.pro
+++ b/tests/auto/widgets/itemviews/qlistview/qlistview.pro
@@ -1,6 +1,6 @@
CONFIG += testcase
TARGET = tst_qlistview
-QT += widgets gui-private testlib
+QT += widgets gui-private widgets-private core-private testlib
SOURCES += tst_qlistview.cpp
win32:!wince*: LIBS += -luser32
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
index a9169b0cbc..507a5f3308 100644
--- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
+++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
@@ -45,6 +45,7 @@
#include <qabstractitemmodel.h>
#include <qapplication.h>
#include <qlistview.h>
+#include <private/qlistview_p.h>
#include <qlistwidget.h>
#include <qitemdelegate.h>
#include <qstandarditemmodel.h>
@@ -133,6 +134,8 @@ private slots:
void taskQTBUG_12308_wrongFlowLayout();
void taskQTBUG_21115_scrollToAndHiddenItems_data();
void taskQTBUG_21115_scrollToAndHiddenItems();
+ void draggablePaintPairs_data();
+ void draggablePaintPairs();
};
// Testing get/set functions
@@ -2115,6 +2118,44 @@ void tst_QListView::taskQTBUG_21115_scrollToAndHiddenItems()
QCOMPARE(lv.visualRect(index), firstItemRect);
}
+void tst_QListView::draggablePaintPairs_data()
+{
+ QTest::addColumn<int>("row");
+
+ for (int row = 0; row < 30; ++row)
+ QTest::newRow("row-" + QByteArray::number(row)) << row;
+}
+
+void tst_QListView::draggablePaintPairs()
+{
+ QFETCH(int, row);
+
+ QListView view;
+
+ QStringListModel model;
+ QStringList list;
+ for (int i = 0; i < 30; i++)
+ list << QString::number(i);
+ model.setStringList(list);
+ view.setModel(&model);
+
+ view.show();
+ QTest::qWaitForWindowExposed(&view);
+
+ QModelIndex expectedIndex = model.index(row, 0);
+ QListViewPrivate *privateClass = static_cast<QListViewPrivate *>(QListViewPrivate::get(&view));
+ QRect rect;
+ QModelIndexList indexList;
+ indexList << expectedIndex;
+ view.scrollTo(expectedIndex);
+ QItemViewPaintPairs pairs = privateClass->draggablePaintPairs(indexList, &rect);
+ QCOMPARE(indexList.size(), pairs.size());
+ foreach (const QItemViewPaintPair pair, pairs) {
+ QCOMPARE(rect, pair.first);
+ QCOMPARE(expectedIndex, pair.second);
+ }
+}
+
QTEST_MAIN(tst_QListView)
#include "tst_qlistview.moc"