summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
diff options
context:
space:
mode:
authorLuca Beldi <v.ronin@yahoo.it>2018-08-01 16:43:31 +0100
committerLuca Beldi <v.ronin@yahoo.it>2018-08-17 07:17:12 +0000
commitd0069ff8c91e0027a0a1f3ef7767dbb13e0eacc4 (patch)
tree4305eb9240e4880edda8f355cdc057a92ce6dd6c /tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
parent67352c92761fcb2e2c6a98b24e1bf5f33805cb3a (diff)
Add a method to clear the data to QStandardItemModel
After the behavior of setItemData has been changed following QTBUG-45114, QStandardItemModel was lacking an interface to clear all the data from a single index. Task-number: QTBUG-69616 Change-Id: Ide0b5bb6358439fc42c474df8b044fbace6def8d Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp')
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
index 9399ebce34..f6ed3e142d 100644
--- a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
+++ b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
@@ -98,6 +98,7 @@ private slots:
void checkChildren();
void data();
void clear();
+ void clearItemData();
void sort_data();
void sort();
void sortRole_data();
@@ -752,6 +753,27 @@ void tst_QStandardItemModel::data()
}
+void tst_QStandardItemModel::clearItemData()
+{
+ currentRoles.clear();
+ QVERIFY(!m_model->clearItemData(QModelIndex()));
+ QCOMPARE(currentRoles, {});
+ const QModelIndex idx = m_model->index(0, 0);
+ const QMap<int, QVariant> oldData = m_model->itemData(idx);
+ m_model->setData(idx, QLatin1String("initialitem"), Qt::DisplayRole);
+ m_model->setData(idx, QLatin1String("tooltip"), Qt::ToolTipRole);
+ m_model->setData(idx, 5, Qt::UserRole);
+ currentRoles.clear();
+ QVERIFY(m_model->clearItemData(idx));
+ QCOMPARE(idx.data(Qt::UserRole), QVariant());
+ QCOMPARE(idx.data(Qt::ToolTipRole), QVariant());
+ QCOMPARE(idx.data(Qt::DisplayRole), QVariant());
+ QCOMPARE(idx.data(Qt::EditRole), QVariant());
+ QCOMPARE(currentRoles, {});
+ m_model->setItemData(idx, oldData);
+ currentRoles.clear();
+}
+
void tst_QStandardItemModel::clear()
{
QStandardItemModel model;