summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp')
-rw-r--r--tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
index bbb51aed5e..84acac5a96 100644
--- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
+++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
@@ -240,6 +240,7 @@ private slots:
void taskQTBUG_11466_keyboardNavigationRegression();
void taskQTBUG_13567_removeLastItemRegression();
void taskQTBUG_25333_adjustViewOptionsForIndex();
+ void taskQTBUG_18539_emitLayoutChanged();
};
class QtTestModel: public QAbstractItemModel
@@ -4054,6 +4055,44 @@ void tst_QTreeView::taskQTBUG_25333_adjustViewOptionsForIndex()
}
+void tst_QTreeView::taskQTBUG_18539_emitLayoutChanged()
+{
+ QTreeView view;
+
+ QStandardItem* item = new QStandardItem("Orig");
+ QStandardItem* child = new QStandardItem("Child");
+ item->setChild(0, 0, child);
+
+ QStandardItemModel model;
+ model.appendRow(item);
+
+ view.setModel(&model);
+
+ QStandardItem* replacementItem = new QStandardItem("Replacement");
+ QStandardItem* replacementChild = new QStandardItem("ReplacementChild");
+
+ replacementItem->setChild(0, 0, replacementChild);
+
+ QSignalSpy beforeSpy(&model, SIGNAL(layoutAboutToBeChanged()));
+ QSignalSpy afterSpy(&model, SIGNAL(layoutChanged()));
+
+ QSignalSpy beforeRISpy(&model, SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)));
+ QSignalSpy afterRISpy(&model, SIGNAL(rowsInserted(QModelIndex,int,int)));
+
+ QSignalSpy beforeRRSpy(&model, SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)));
+ QSignalSpy afterRRSpy(&model, SIGNAL(rowsRemoved(QModelIndex,int,int)));
+
+ model.setItem(0, 0, replacementItem);
+
+ QCOMPARE(beforeSpy.size(), 1);
+ QCOMPARE(afterSpy.size(), 1);
+
+ QCOMPARE(beforeRISpy.size(), 0);
+ QCOMPARE(afterRISpy.size(), 0);
+
+ QCOMPARE(beforeRISpy.size(), 0);
+ QCOMPARE(afterRISpy.size(), 0);
+}
QTEST_MAIN(tst_QTreeView)
#include "tst_qtreeview.moc"