summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp')
-rw-r--r--tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp b/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp
index 94a81b981e..2a7180cd8b 100644
--- a/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp
+++ b/tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp
@@ -79,6 +79,7 @@ private slots:
void splitOnInsert();
void rowIntersectsSelection1();
void rowIntersectsSelection2();
+ void rowIntersectsSelection3();
void unselectable();
void selectedIndexes();
void layoutChanged();
@@ -2037,6 +2038,30 @@ void tst_QItemSelectionModel::rowIntersectsSelection2()
QVERIFY(!selected.columnIntersectsSelection(5, QModelIndex()));
}
+void tst_QItemSelectionModel::rowIntersectsSelection3()
+{
+ QStandardItemModel model;
+ QStandardItem *parentItem = model.invisibleRootItem();
+ for (int i = 0; i < 4; ++i) {
+ QStandardItem *item = new QStandardItem(QString("item %0").arg(i));
+ parentItem->appendRow(item);
+ parentItem = item;
+ }
+
+ QItemSelectionModel selectionModel(&model);
+
+ selectionModel.select(model.index(0, 0, model.index(0, 0)), QItemSelectionModel::Select);
+
+ QModelIndex parent;
+ QVERIFY(!selectionModel.rowIntersectsSelection(0, parent));
+ parent = model.index(0, 0, parent);
+ QVERIFY(selectionModel.rowIntersectsSelection(0, parent));
+ parent = model.index(0, 0, parent);
+ QVERIFY(!selectionModel.rowIntersectsSelection(0, parent));
+ parent = model.index(0, 0, parent);
+ QVERIFY(!selectionModel.rowIntersectsSelection(0, parent));
+}
+
void tst_QItemSelectionModel::unselectable()
{
QTreeWidget w;