diff options
Diffstat (limited to 'tests/auto/widgets/itemviews')
3 files changed, 26 insertions, 11 deletions
diff --git a/tests/auto/widgets/itemviews/qtreeview/BLACKLIST b/tests/auto/widgets/itemviews/qtreeview/BLACKLIST deleted file mode 100644 index 5eb80007c4..0000000000 --- a/tests/auto/widgets/itemviews/qtreeview/BLACKLIST +++ /dev/null @@ -1,2 +0,0 @@ -[setSortingEnabledChild] -windows diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp index 347d2a81e6..37402d8a58 100644 --- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp @@ -2600,8 +2600,10 @@ void tst_QTreeView::setSortingEnabledChild() { QMainWindow win; QTreeView view; - QStandardItemModel model(1,1); + // two columns to not get in trouble with stretchLastSection + QStandardItemModel model(1,2); view.setModel(&model); + view.header()->setDefaultSectionSize(92); win.setCentralWidget(&view); const int size = view.header()->sectionSize(0); view.setSortingEnabled(true); diff --git a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp index d0e6407283..6ac0e5e18e 100644 --- a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp +++ b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp @@ -1938,23 +1938,38 @@ void tst_QTreeWidget::setData() } } +class QTreeWidgetDataChanged : public QTreeWidget +{ + Q_OBJECT +public: + using QTreeWidget::QTreeWidget; + + void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles) override + { + QTreeWidget::dataChanged(topLeft, bottomRight, roles); + currentRoles = roles; + } + QVector<int> currentRoles; +}; + void tst_QTreeWidget::itemData() { - QTreeWidget widget; + QTreeWidgetDataChanged widget; QTreeWidgetItem item(&widget); widget.setColumnCount(2); item.setFlags(item.flags() | Qt::ItemIsEditable); item.setData(0, Qt::DisplayRole, QString("0")); + QCOMPARE(widget.currentRoles, QVector<int>({Qt::DisplayRole, Qt::EditRole})); item.setData(0, Qt::CheckStateRole, Qt::PartiallyChecked); - item.setData(0, Qt::UserRole + 0, QString("1")); - item.setData(0, Qt::UserRole + 1, QString("2")); - item.setData(0, Qt::UserRole + 2, QString("3")); - item.setData(0, Qt::UserRole + 3, QString("4")); - + QCOMPARE(widget.currentRoles, {Qt::CheckStateRole}); + for (int i = 0; i < 4; ++i) { + item.setData(0, Qt::UserRole + i, QString::number(i + 1)); + QCOMPARE(widget.currentRoles, {Qt::UserRole + i}); + } QMap<int, QVariant> flags = widget.model()->itemData(widget.model()->index(0, 0)); QCOMPARE(flags.count(), 6); - QCOMPARE(flags[Qt::UserRole + 0].toString(), QString("1")); - + for (int i = 0; i < 4; ++i) + QCOMPARE(flags[Qt::UserRole + i].toString(), QString::number(i + 1)); flags = widget.model()->itemData(widget.model()->index(0, 1)); QCOMPARE(flags.count(), 0); } |