summaryrefslogtreecommitdiffstats
path: root/tests/auto/qlistview/tst_qlistview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qlistview/tst_qlistview.cpp')
-rw-r--r--tests/auto/qlistview/tst_qlistview.cpp42
1 files changed, 32 insertions, 10 deletions
diff --git a/tests/auto/qlistview/tst_qlistview.cpp b/tests/auto/qlistview/tst_qlistview.cpp
index 1c8fecf..596ac9b 100644
--- a/tests/auto/qlistview/tst_qlistview.cpp
+++ b/tests/auto/qlistview/tst_qlistview.cpp
@@ -122,6 +122,7 @@ private slots:
void taskQTBUG_633_changeModelData();
void taskQTBUG_435_deselectOnViewportClick();
void taskQTBUG_2678_spacingAndWrappedText();
+ void taskQTBUG_5877_skippingItemInPageDownUp();
};
// Testing get/set functions
@@ -509,9 +510,7 @@ void tst_QListView::moveCursor2()
QModelIndex idx = vu.moveCursor(QMoveCursorListView::MoveHome, Qt::NoModifier);
QCOMPARE(idx, model.index(0,0));
idx = vu.moveCursor(QMoveCursorListView::MoveDown, Qt::NoModifier);
- QModelIndex p = model.index(8,0);
QCOMPARE(idx, model.index(8,0));
-
}
void tst_QListView::moveCursor3()
@@ -605,7 +604,6 @@ void tst_QListView::indexAt()
QVERIFY(view2.m_index.isValid());
QVERIFY(view2.m_index.row() != 0);
-
}
void tst_QListView::clicked()
@@ -703,7 +701,6 @@ void tst_QListView::modelColumn()
view.setModel(&model);
-
//
// Set and get with a valid model
//
@@ -743,7 +740,6 @@ void tst_QListView::modelColumn()
}
}
-
void tst_QListView::hideFirstRow()
{
QStringList items;
@@ -814,7 +810,6 @@ void tst_QListView::batchedMode()
ba.setBit(idx.row(), true);
}
QCOMPARE(ba.size(), 3);
-
}
void tst_QListView::setCurrentIndex()
@@ -1146,7 +1141,6 @@ void tst_QListView::selection()
for (int i = 0; i < selected.count(); ++i) {
QVERIFY(expectedItems.contains(selected.at(i).row()));
}
-
}
void tst_QListView::scrollTo()
@@ -1251,7 +1245,6 @@ void tst_QListView::scrollTo()
QTest::keyClick(lv.viewport(), Qt::Key_Up, Qt::NoModifier);
QCOMPARE(lv.visualRect(index).y(), 0);
-
}
@@ -1772,7 +1765,6 @@ void tst_QListView::clickOnViewportClearsSelection()
QTest::mouseRelease(view.viewport(), Qt::LeftButton, 0, point);
//now the selection should be cleared
QVERIFY(!view.selectionModel()->hasSelection());
-
}
void tst_QListView::task262152_setModelColumnNavigate()
@@ -1795,7 +1787,6 @@ void tst_QListView::task262152_setModelColumnNavigate()
QTest::keyClick(&view, Qt::Key_Down);
QTest::qWait(30);
QTRY_COMPARE(view.currentIndex(), model.index(2,1));
-
}
void tst_QListView::taskQTBUG_2233_scrollHiddenItems_data()
@@ -1891,5 +1882,36 @@ void tst_QListView::taskQTBUG_2678_spacingAndWrappedText()
QCOMPARE(w.horizontalScrollBar()->minimum(), w.horizontalScrollBar()->maximum());
}
+void tst_QListView::taskQTBUG_5877_skippingItemInPageDownUp()
+{
+ QList<int> currentItemIndexes;
+ QtTestModel model(0);
+ model.colCount = 1;
+ model.rCount = 100;
+
+ currentItemIndexes << 0 << 6 << 16 << 25 << 34 << 42 << 57 << 68 << 77
+ << 83 << 91 << 94;
+ QMoveCursorListView vu;
+ vu.setModel(&model);
+ vu.show();
+
+ int itemHeight = vu.visualRect(model.index(0, 0)).height();
+ int visibleRowCount = vu.height() / itemHeight;
+ int scrolledRowCount = visibleRowCount - 1;
+
+ for (int i = 0; i < currentItemIndexes.size(); ++i) {
+ vu.selectionModel()->setCurrentIndex(model.index(currentItemIndexes[i], 0),
+ QItemSelectionModel::SelectCurrent);
+
+ QModelIndex idx = vu.moveCursor(QMoveCursorListView::MovePageDown, Qt::NoModifier);
+ int newCurrent = qMin(currentItemIndexes[i] + scrolledRowCount, 99);
+ QCOMPARE(idx, model.index(newCurrent, 0));
+
+ idx = vu.moveCursor(QMoveCursorListView::MovePageUp, Qt::NoModifier);
+ newCurrent = qMax(currentItemIndexes[i] - scrolledRowCount, 0);
+ QCOMPARE(idx, model.index(newCurrent, 0));
+ }
+}
+
QTEST_MAIN(tst_QListView)
#include "tst_qlistview.moc"