diff options
Diffstat (limited to 'tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp')
-rw-r--r-- | tests/auto/corelib/itemmodels/qitemselectionmodel/tst_qitemselectionmodel.cpp | 25 |
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; |