summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Beldi <v.ronin@yahoo.it>2021-04-15 23:41:28 +0100
committerLuca Beldi <v.ronin@yahoo.it>2021-04-19 19:30:46 +0100
commitfed2c0d23614df1b96dcc8746223501b07597a52 (patch)
treea4c1834d05b46585e30bc6fe5fd03c7491eaba6c
parent4d838dae5a821e9e5f013ba1d5a494ece1b5180e (diff)
Fix QAbstractItemModelTester false positive
When rows are removed from a model with no columns, the test should not report a problem if indexes are invalid Fixes: QTBUG-92886 Pick-to: 6.1 6.0 5.15 Change-Id: I7a042dfdb2575f87208a00cbed13db3869807f84 Reviewed-by: David Faure <david.faure@kdab.com>
-rw-r--r--src/testlib/qabstractitemmodeltester.cpp4
-rw-r--r--tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp7
2 files changed, 7 insertions, 4 deletions
diff --git a/src/testlib/qabstractitemmodeltester.cpp b/src/testlib/qabstractitemmodeltester.cpp
index 165baedfbe..abb4ff7c60 100644
--- a/src/testlib/qabstractitemmodeltester.cpp
+++ b/src/testlib/qabstractitemmodeltester.cpp
@@ -721,12 +721,12 @@ void QAbstractItemModelTesterPrivate::rowsAboutToBeRemoved(const QModelIndex &pa
Changing c;
c.parent = parent;
c.oldSize = model->rowCount(parent);
- if (start > 0) {
+ if (start > 0 && model->columnCount(parent) > 0) {
const QModelIndex startIndex = model->index(start - 1, 0, parent);
MODELTESTER_VERIFY(startIndex.isValid());
c.last = model->data(startIndex);
}
- if (end < c.oldSize - 1) {
+ if (end < c.oldSize - 1 && model->columnCount(parent) > 0) {
const QModelIndex endIndex = model->index(end + 1, 0, parent);
MODELTESTER_VERIFY(endIndex.isValid());
c.next = model->data(endIndex);
diff --git a/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp b/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp
index bc96cab64b..5cbdd7beae 100644
--- a/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp
+++ b/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp
@@ -106,13 +106,16 @@ void tst_QAbstractItemModelTester::standardItemModel()
model.insertColumns(0, 5, model.index(1, 3));
}
-void tst_QAbstractItemModelTester::standardItemModelZeroColumns() // QTBUG-92220
+void tst_QAbstractItemModelTester::standardItemModelZeroColumns()
{
QStandardItemModel model;
-
QAbstractItemModelTester t1(&model);
+ // QTBUG-92220
model.insertRows(0, 5);
model.removeRows(0, 5);
+ // QTBUG-92886
+ model.insertRows(0, 5);
+ model.removeRows(1, 2);
}
void tst_QAbstractItemModelTester::testInsertThroughProxy()