summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp')
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
index 3770abb849..444d26ce33 100644
--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
@@ -140,6 +140,7 @@ private slots:
void testMultipleProxiesWithSelection();
void mapSelectionFromSource();
void filteredColumns();
+ void headerDataChanged();
void testParentLayoutChanged();
void moveSourceRows();
@@ -3155,6 +3156,40 @@ void tst_QSortFilterProxyModel::filteredColumns()
insertCommand->doCommand();
}
+class ChangableHeaderData : public QStringListModel
+{
+ Q_OBJECT
+public:
+ explicit ChangableHeaderData(QObject *parent = 0)
+ : QStringListModel(parent)
+ {
+
+ }
+
+ void emitHeaderDataChanged()
+ {
+ headerDataChanged(Qt::Vertical, 0, rowCount() - 1);
+ }
+};
+
+
+void tst_QSortFilterProxyModel::headerDataChanged()
+{
+ ChangableHeaderData *model = new ChangableHeaderData(this);
+
+ QStringList numbers;
+ for (int i = 0; i < 10; ++i)
+ numbers.append(QString::number(i));
+ model->setStringList(numbers);
+
+ QSortFilterProxyModel *proxy = new QSortFilterProxyModel(this);
+ proxy->setSourceModel(model);
+
+ new ModelTest(proxy, this);
+
+ model->emitHeaderDataChanged();
+}
+
void tst_QSortFilterProxyModel::resetInvalidate_data()
{
QTest::addColumn<int>("test");