diff options
author | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-09-04 14:33:40 +0200 |
---|---|---|
committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2019-09-16 09:41:23 +0200 |
commit | 93f2f33a49f6c96a4f94f344edf03164ed944d02 (patch) | |
tree | 9a799be282e6c0d6544d9f8c872073f83e6c0475 /tests/auto/widgets/itemviews/qtableview | |
parent | 7e8705f6632428a8d9a937ab5fe087999347b3dd (diff) | |
parent | f255b1e8e297e7e1363921580007145cff574e0d (diff) |
Merge "Merge remote-tracking branch 'origin/dev' into wip/qt6"
Diffstat (limited to 'tests/auto/widgets/itemviews/qtableview')
-rw-r--r-- | tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp index 6bbb30a6db..35c0c6c606 100644 --- a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp +++ b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp @@ -4257,32 +4257,42 @@ void tst_QTableView::task191545_dragSelectRows() void tst_QTableView::task234926_setHeaderSorting() { QStringListModel model; - QStringList data; - data << "orange" << "apple" << "banana" << "lemon" << "pumpkin"; + QSortFilterProxyModel sfpm; // default QStandardItemModel does not support 'unsorted' state + sfpm.setSourceModel(&model); + const QStringList data({"orange", "apple", "banana", "lemon", "pumpkin"}); QStringList sortedDataA = data; QStringList sortedDataD = data; std::sort(sortedDataA.begin(), sortedDataA.end()); std::sort(sortedDataD.begin(), sortedDataD.end(), std::greater<QString>()); model.setStringList(data); QTableView view; - view.setModel(&model); -// view.show(); + view.setModel(&sfpm); + QTRY_COMPARE(model.stringList(), data); view.setSortingEnabled(true); view.sortByColumn(0, Qt::AscendingOrder); - QTRY_COMPARE(model.stringList() , sortedDataA); + for (int i = 0; i < sortedDataA.size(); ++i) + QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), sortedDataA.at(i)); view.horizontalHeader()->setSortIndicator(0, Qt::DescendingOrder); - QTRY_COMPARE(model.stringList() , sortedDataD); + for (int i = 0; i < sortedDataD.size(); ++i) + QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), sortedDataD.at(i)); QHeaderView *h = new QHeaderView(Qt::Horizontal); h->setModel(&model); view.setHorizontalHeader(h); h->setSortIndicator(0, Qt::AscendingOrder); - QTRY_COMPARE(model.stringList() , sortedDataA); + for (int i = 0; i < sortedDataA.size(); ++i) + QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), sortedDataA.at(i)); h->setSortIndicator(0, Qt::DescendingOrder); - QTRY_COMPARE(model.stringList() , sortedDataD); + for (int i = 0; i < sortedDataD.size(); ++i) + QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), sortedDataD.at(i)); + + view.sortByColumn(-1, Qt::AscendingOrder); + QCOMPARE(view.horizontalHeader()->sortIndicatorSection(), -1); + for (int i = 0; i < data.size(); ++i) + QCOMPARE(view.model()->data(view.model()->index(i, 0)).toString(), data.at(i)); } void tst_QTableView::taskQTBUG_5062_spansInconsistency() |