summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/itemviews/qlistview
diff options
context:
space:
mode:
authorAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-02-12 15:31:07 +0300
committerAnton Kudryavtsev <a.kudryavtsev@netris.ru>2016-02-17 04:53:16 +0000
commita3b8e355fc17783a5d4badfb9ad50247655000cd (patch)
treec5a8c3cca1929350f9261956e51835086441b483 /tests/auto/widgets/itemviews/qlistview
parent5b727576b15f40f9759c2b4317933ebd2a50fdf5 (diff)
QListView: fix skipping indexes in selectedIndexes().
Remove spurious increment of i. Task-number: QTBUG-51086 Change-Id: I4307a6728de1e7f25c8afa31fe2066f92373f3fc Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'tests/auto/widgets/itemviews/qlistview')
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
index 5b206af357..3cf9f7fe0b 100644
--- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
+++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
@@ -152,6 +152,7 @@ private slots:
void taskQTBUG_39902_mutualScrollBars_data();
void taskQTBUG_39902_mutualScrollBars();
void horizontalScrollingByVerticalWheelEvents();
+ void taskQTBUG_51086_skippingIndexesInSelectedIndexes();
};
// Testing get/set functions
@@ -2493,5 +2494,32 @@ void tst_QListView::horizontalScrollingByVerticalWheelEvents()
QVERIFY(lv.verticalScrollBar()->value() > vValue);
}
+void tst_QListView::taskQTBUG_51086_skippingIndexesInSelectedIndexes()
+{
+ // simple way to get access to selectedIndexes()
+ class QListViewWithPublicSelectedIndexes : public QListView
+ {
+ public:
+ using QListView::selectedIndexes;
+ };
+
+ QStandardItemModel data(10, 1);
+ QItemSelectionModel selections(&data);
+ QListViewWithPublicSelectedIndexes list;
+ list.setModel(&data);
+ list.setSelectionModel(&selections);
+
+ list.setRowHidden(7, true);
+ list.setRowHidden(8, true);
+
+ for (int i = 0, count = data.rowCount(); i < count; ++i)
+ selections.select(data.index(i, 0), QItemSelectionModel::Select);
+
+ const QModelIndexList indexes = list.selectedIndexes();
+
+ QVERIFY(!indexes.contains(data.index(7, 0)));
+ QVERIFY(!indexes.contains(data.index(8, 0)));
+}
+
QTEST_MAIN(tst_QListView)
#include "tst_qlistview.moc"