diff options
author | Marcel Krems <m.krems@software-vision.eu> | 2020-04-05 16:47:31 +0200 |
---|---|---|
committer | Marcel Krems <m.krems@software-vision.eu> | 2020-08-24 18:56:58 +0000 |
commit | aae2512c85ff014eeca3c2ae82826dba31f4c259 (patch) | |
tree | baa519f3cee75088101ee730dcde74c5a6ef8f86 /tests | |
parent | 401d8848764681b28dd1945813137ed990efeeb3 (diff) |
Fix CaseSensitivity handling for QRegularExpression in QSortFilterProxyModel
setFilterRegExp retains the caseSensitivity() while setFilterRegularExpression did not.
Change setFilterRegularExpression to also retain the case sensitivity.
Also fix the inverted logic in setFilterCaseSensitivity.
Fixes: QTBUG-83313
Change-Id: I46f494d320aee99d50612f01f63558c693276989
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: David Faure <david.faure@kdab.com>
(cherry picked from commit 9a921d78e87452962043721669f3027f7566eef4)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/itemmodels/qsortfilterproxymodel_regularexpression/tst_qsortfilterproxymodel_regularexpression.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_regularexpression/tst_qsortfilterproxymodel_regularexpression.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_regularexpression/tst_qsortfilterproxymodel_regularexpression.cpp index 821e199bcb..ebcc4053c5 100644 --- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_regularexpression/tst_qsortfilterproxymodel_regularexpression.cpp +++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_regularexpression/tst_qsortfilterproxymodel_regularexpression.cpp @@ -37,6 +37,7 @@ public: tst_QSortFilterProxyModelRegularExpression(); private slots: void tst_invalid(); + void tst_caseSensitivity(); }; tst_QSortFilterProxyModelRegularExpression::tst_QSortFilterProxyModelRegularExpression() : @@ -55,5 +56,25 @@ void tst_QSortFilterProxyModelRegularExpression::tst_invalid() QCOMPARE(model.filterRegularExpression(), QRegularExpression()); } +void tst_QSortFilterProxyModelRegularExpression::tst_caseSensitivity() +{ + const QLatin1String pattern("test"); + QStringListModel model({ "test", "TesT" }); + QSortFilterProxyModel proxyModel; + proxyModel.setSourceModel(&model); + + proxyModel.setFilterCaseSensitivity(Qt::CaseInsensitive); + proxyModel.setFilterRegularExpression(pattern); + QCOMPARE(proxyModel.filterCaseSensitivity(), Qt::CaseInsensitive); + QCOMPARE(proxyModel.rowCount(), 2); + + proxyModel.setFilterCaseSensitivity(Qt::CaseSensitive); + QCOMPARE(proxyModel.filterCaseSensitivity(), Qt::CaseSensitive); + QCOMPARE(proxyModel.rowCount(), 1); + proxyModel.setFilterCaseSensitivity(Qt::CaseInsensitive); + QCOMPARE(proxyModel.filterCaseSensitivity(), Qt::CaseInsensitive); + QCOMPARE(proxyModel.rowCount(), 2); +} + QTEST_MAIN(tst_QSortFilterProxyModelRegularExpression) #include "tst_qsortfilterproxymodel_regularexpression.moc" |