summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorMaks Naumov <maksqwe1@ukr.net>2015-01-24 21:26:06 +0200
committerMaks Naumov <maksqwe1@ukr.net>2015-02-06 09:43:38 +0000
commitb444769840b2497f1295bca0694fe59aa78bb551 (patch)
treec4813f4e963a254a094a7a8c85348128f0832557 /tests/auto
parentb3fc5e1ea3eb4fe838ac716aaca4efaa5de5a814 (diff)
Don't crash with invalid QModelIndex or when QTreeWidgetItem is NULL in mimeData()
Change-Id: I0a9abaa05cf136eadf222d3e7d102930719b84ff Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp8
-rw-r--r--tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp11
2 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
index cde6141a71..10dedfaf95 100644
--- a/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
+++ b/tests/auto/gui/itemmodels/qstandarditemmodel/tst_qstandarditemmodel.cpp
@@ -129,6 +129,7 @@ private slots:
void removeRowsAndColumns();
void itemRoleNames();
+ void getMimeDataWithInvalidModelIndex();
private:
QAbstractItemModel *m_model;
@@ -1671,6 +1672,13 @@ void tst_QStandardItemModel::itemRoleNames()
VERIFY_MODEL
}
+void tst_QStandardItemModel::getMimeDataWithInvalidModelIndex()
+{
+ QStandardItemModel model;
+ QTest::ignoreMessage(QtWarningMsg, "QStandardItemModel::mimeData: No item associated with invalid index");
+ QMimeData *data = model.mimeData(QModelIndexList() << QModelIndex());
+ QVERIFY(!data);
+}
QTEST_MAIN(tst_QStandardItemModel)
#include "tst_qstandarditemmodel.moc"
diff --git a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp
index c1331d62e1..bdeaaf38db 100644
--- a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp
+++ b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp
@@ -49,6 +49,9 @@ class CustomTreeWidget : public QTreeWidget
public:
QModelIndex indexFromItem(QTreeWidgetItem *item, int column = 0) const
{ return QTreeWidget::indexFromItem(item, column); }
+
+ QMimeData * mimeData(const QList<QTreeWidgetItem*> items) const
+ { return QTreeWidget::mimeData(items); }
};
class tst_QTreeWidget : public QObject
@@ -157,6 +160,7 @@ private slots:
void setChildIndicatorPolicy();
void task20345_sortChildren();
+ void getMimeDataWithInvalidItem();
public slots:
void itemSelectionChanged();
@@ -3368,6 +3372,13 @@ void tst_QTreeWidget::task20345_sortChildren()
QVERIFY(1);
}
+void tst_QTreeWidget::getMimeDataWithInvalidItem()
+{
+ CustomTreeWidget w;
+ QTest::ignoreMessage(QtWarningMsg, "QTreeWidget::mimeData: Null-item passed");
+ QMimeData *md = w.mimeData(QList<QTreeWidgetItem*>() << Q_NULLPTR);
+ QVERIFY(!md);
+}
QTEST_MAIN(tst_QTreeWidget)
#include "tst_qtreewidget.moc"