diff options
Diffstat (limited to 'tests/auto/corelib/itemmodels')
-rw-r--r-- | tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp index 1952314ce2..fd7b0d76ba 100644 --- a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp +++ b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp @@ -112,6 +112,8 @@ private slots: void testChildrenLayoutsChanged(); + void testRoleNames(); + private: DynamicTreeModel *m_model; }; @@ -1976,5 +1978,31 @@ void tst_QAbstractItemModel::testChildrenLayoutsChanged() } } +class OverrideRoleNames : public QStringListModel +{ + Q_OBJECT +public: + OverrideRoleNames(QObject *parent = 0) + : QStringListModel(parent) + { + + } + + QHash<int, QByteArray> roleNames() const + { + QHash<int, QByteArray> roles = QStringListModel::roleNames(); + roles.insert(Qt::UserRole + 2, "custom"); + return roles; + } +}; + +void tst_QAbstractItemModel::testRoleNames() +{ + QAbstractItemModel *model = new OverrideRoleNames(this); + QHash<int, QByteArray> roles = model->roleNames(); + QVERIFY(roles.contains(Qt::UserRole + 2)); + QVERIFY(roles.value(Qt::UserRole + 2) == "custom"); +} + QTEST_MAIN(tst_QAbstractItemModel) #include "tst_qabstractitemmodel.moc" |