summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/itemmodels
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-06-30 22:59:21 +0200
committerLiang Qi <liang.qi@qt.io>2018-07-02 11:23:45 +0200
commite3ed2281c0c891cf3b15c95f9f7cdae42e9f233a (patch)
treeaae8da6ce616eae02b69fb1fcdcb4383c8fe6811 /tests/auto/corelib/itemmodels
parent3be141d5bc199080b524d8f6f5ce514e8f74d23a (diff)
parente75e4b39b78ba05ea2cd45dc96acf99fc89c5915 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts: src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_dragging.mm src/plugins/platforms/ios/qiosinputcontext.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/tools/androiddeployqt/main.cpp Was moved from qttools into qtbase in 5.11. So re-apply 32398e4d here. tests/auto/corelib/global/qlogging/test/test.pro tests/auto/corelib/global/qlogging/tst_qlogging.cpp tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp tests/auto/corelib/thread/qthreadstorage/test/test.pro tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qapplication/test/test.pro Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Done-with: MÃ¥rten Nordheim <marten.nordheim@qt.io> Done-with: Oliver Wolff <oliver.wolff@qt.io> Change-Id: Id970486c5315a1718c540f00deb2633533e8fc7b
Diffstat (limited to 'tests/auto/corelib/itemmodels')
-rw-r--r--tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp12
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp39
2 files changed, 42 insertions, 9 deletions
diff --git a/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp b/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp
index f8c5c92677..262c6dd9c8 100644
--- a/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp
+++ b/tests/auto/corelib/itemmodels/qidentityproxymodel/tst_qidentityproxymodel.cpp
@@ -26,9 +26,12 @@
**
****************************************************************************/
-#include <QtTest/QtTest>
-#include <QtCore/QCoreApplication>
-#include <QtGui/QStandardItemModel>
+#include <QAbstractItemModelTester>
+#include <QCoreApplication>
+#include <QSignalSpy>
+#include <QStandardItemModel>
+#include <QStringListModel>
+#include <QTest>
#include "dynamictreemodel.h"
#include "qidentityproxymodel.h"
@@ -76,6 +79,7 @@ protected:
private:
QStandardItemModel *m_model;
QIdentityProxyModel *m_proxy;
+ QAbstractItemModelTester *m_modelTest;
};
tst_QIdentityProxyModel::tst_QIdentityProxyModel()
@@ -88,12 +92,14 @@ void tst_QIdentityProxyModel::initTestCase()
qRegisterMetaType<QVector<int> >();
m_model = new QStandardItemModel(0, 1);
m_proxy = new QIdentityProxyModel();
+ m_modelTest = new QAbstractItemModelTester(m_proxy, this);
}
void tst_QIdentityProxyModel::cleanupTestCase()
{
delete m_proxy;
delete m_model;
+ delete m_modelTest;
}
void tst_QIdentityProxyModel::cleanup()
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
index 9bc558580b..a9138a6505 100644
--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp
@@ -1898,6 +1898,7 @@ void tst_QSortFilterProxyModel::changeSourceData_data()
QTest::addColumn<QStringList>("sourceItems");
QTest::addColumn<int>("sortOrder");
QTest::addColumn<QString>("filter");
+ QTest::addColumn<QStringList>("expectedInitialProxyItems");
QTest::addColumn<bool>("dynamic");
QTest::addColumn<int>("row");
QTest::addColumn<QString>("newValue");
@@ -1905,10 +1906,11 @@ void tst_QSortFilterProxyModel::changeSourceData_data()
QTest::addColumn<IntPairList>("insertIntervals");
QTest::addColumn<QStringList>("proxyItems");
- QTest::newRow("changeSourceData (1)")
+ QTest::newRow("move_to_end_ascending")
<< (QStringList() << "c" << "b" << "a") // sourceItems
<< static_cast<int>(Qt::AscendingOrder) // sortOrder
<< "" // filter
+ << (QStringList() << "a" << "b" << "c") // expectedInitialProxyItems
<< true // dynamic
<< 2 // row
<< "z" // newValue
@@ -1917,10 +1919,11 @@ void tst_QSortFilterProxyModel::changeSourceData_data()
<< (QStringList() << "b" << "c" << "z") // proxyItems
;
- QTest::newRow("changeSourceData (2)")
+ QTest::newRow("move_to_end_descending")
<< (QStringList() << "b" << "c" << "z") // sourceItems
<< static_cast<int>(Qt::DescendingOrder) // sortOrder
<< "" // filter
+ << (QStringList() << "z" << "c" << "b") // expectedInitialProxyItems
<< true // dynamic
<< 1 // row
<< "a" // newValue
@@ -1929,10 +1932,11 @@ void tst_QSortFilterProxyModel::changeSourceData_data()
<< (QStringList() << "z" << "b" << "a") // proxyItems
;
- QTest::newRow("changeSourceData (3)")
+ QTest::newRow("no_op_change")
<< (QStringList() << "a" << "b") // sourceItems
<< static_cast<int>(Qt::DescendingOrder) // sortOrder
<< "" // filter
+ << (QStringList() << "b" << "a") // expectedInitialProxyItems
<< true // dynamic
<< 0 // row
<< "a" // newValue
@@ -1941,10 +1945,11 @@ void tst_QSortFilterProxyModel::changeSourceData_data()
<< (QStringList() << "b" << "a") // proxyItems
;
- QTest::newRow("changeSourceData (4)")
+ QTest::newRow("filtered_out_value_stays_out")
<< (QStringList() << "a" << "b" << "c" << "d") // sourceItems
<< static_cast<int>(Qt::AscendingOrder) // sortOrder
<< "a|c" // filter
+ << (QStringList() << "a" << "c") // expectedInitialProxyItems
<< true // dynamic
<< 1 // row
<< "x" // newValue
@@ -1953,10 +1958,11 @@ void tst_QSortFilterProxyModel::changeSourceData_data()
<< (QStringList() << "a" << "c") // proxyItems
;
- QTest::newRow("changeSourceData (5)")
+ QTest::newRow("filtered_out_now_matches")
<< (QStringList() << "a" << "b" << "c" << "d") // sourceItems
<< static_cast<int>(Qt::AscendingOrder) // sortOrder
<< "a|c|x" // filter
+ << (QStringList() << "a" << "c") // expectedInitialProxyItems
<< true // dynamic
<< 1 // row
<< "x" // newValue
@@ -1965,10 +1971,24 @@ void tst_QSortFilterProxyModel::changeSourceData_data()
<< (QStringList() << "a" << "c" << "x") // proxyItems
;
- QTest::newRow("changeSourceData (6)")
+ QTest::newRow("value_is_now_filtered_out")
+ << (QStringList() << "a" << "b" << "c" << "d") // sourceItems
+ << static_cast<int>(Qt::AscendingOrder) // sortOrder
+ << "a|c" // filter
+ << (QStringList() << "a" << "c") // expectedInitialProxyItems
+ << true // dynamic
+ << 2 // row
+ << "x" // newValue
+ << (IntPairList() << IntPair(1, 1)) // removeIntervals
+ << IntPairList() // insertIntervals
+ << (QStringList() << "a") // proxyItems
+ ;
+
+ QTest::newRow("non_dynamic_filter_does_not_update_sort")
<< (QStringList() << "c" << "b" << "a") // sourceItems
<< static_cast<int>(Qt::AscendingOrder) // sortOrder
<< "" // filter
+ << (QStringList() << "a" << "b" << "c") // expectedInitialProxyItems
<< false // dynamic
<< 2 // row
<< "x" // newValue
@@ -1983,6 +2003,7 @@ void tst_QSortFilterProxyModel::changeSourceData()
QFETCH(QStringList, sourceItems);
QFETCH(int, sortOrder);
QFETCH(QString, filter);
+ QFETCH(QStringList, expectedInitialProxyItems);
QFETCH(bool, dynamic);
QFETCH(int, row);
QFETCH(QString, newValue);
@@ -2008,6 +2029,12 @@ void tst_QSortFilterProxyModel::changeSourceData()
proxy.setFilterRegExp(filter);
+ QCOMPARE(proxy.rowCount(), expectedInitialProxyItems.count());
+ for (int i = 0; i < expectedInitialProxyItems.count(); ++i) {
+ const QModelIndex index = proxy.index(i, 0, QModelIndex());
+ QCOMPARE(proxy.data(index, Qt::DisplayRole).toString(), expectedInitialProxyItems.at(i));
+ }
+
QSignalSpy removeSpy(&proxy, &QSortFilterProxyModel::rowsRemoved);
QSignalSpy insertSpy(&proxy, &QSortFilterProxyModel::rowsInserted);