diff options
author | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2018-02-23 21:23:49 +0100 |
---|---|---|
committer | Christian Ehrlicher <ch.ehrlicher@gmx.de> | 2018-03-07 18:36:15 +0000 |
commit | 80693f171c9e904007137f109a83fb456c9cae48 (patch) | |
tree | 2fb59271b89824ae33e84cadb400e333226b736f /tests/auto | |
parent | b64f3f6ca97e299176ca8990402650552a90f704 (diff) |
QStandardItem: add more sanity checks on insertRow(s)/Column(s)
When QStandardItem::insertRows/Columns is called with an empty list
or an insert count of 0, do not assert but return false.
Task-number: QTBUG-66491
Change-Id: I328598e08584fb9b0a35075458bfeb31c57ebfee
Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp index d393ac70da..1ecfdb5e47 100644 --- a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp +++ b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp @@ -132,7 +132,7 @@ private slots: void taskQTBUG_45114_setItemData(); private: - QAbstractItemModel *m_model; + QStandardItemModel *m_model; QPersistentModelIndex persistent; QVector<QModelIndex> rcParent; QVector<int> rcFirst; @@ -292,6 +292,12 @@ void tst_QStandardItemModel::insertRows() // check header data has moved QCOMPARE(m_model->headerData(3, Qt::Vertical).toString(), headerLabel); + + // do not assert on empty list + QStandardItem *si = m_model->invisibleRootItem(); + si->insertRow(0, QList<QStandardItem*>()); + si->insertRows(0, 0); + si->insertRows(0, QList<QStandardItem*>()); } void tst_QStandardItemModel::insertRowsItems() @@ -402,6 +408,11 @@ void tst_QStandardItemModel::insertColumns() // check header data has moved QCOMPARE(m_model->headerData(3, Qt::Horizontal).toString(), headerLabel); + + // do not assert on empty list + QStandardItem *si = m_model->invisibleRootItem(); + si->insertColumn(0, QList<QStandardItem*>()); + si->insertColumns(0, 0); } void tst_QStandardItemModel::removeRows() |