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-23 02:35:37 +0200 |
commit | 9a921d78e87452962043721669f3027f7566eef4 (patch) | |
tree | 85ea8846f6c8efcc77ce96e105a865a3137ff2aa /tests/auto/corelib/itemmodels | |
parent | d9d813b6d1f21f4f25482e22fe31eca13762a877 (diff) |
Fix CaseSensitivity handling for QRegularExpression in QSortFilterProxyModel
setFilterRegExp retains the caseSensitivity() while setFilterRegularExpression did not.
Change setFilterRegularExpression to also retain the case sensitivity.
Fixes: QTBUG-83313
Pick-to: 5.15
Change-Id: I46f494d320aee99d50612f01f63558c693276989
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'tests/auto/corelib/itemmodels')
-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 e6f5080cdb..7f2a4b64ae 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() : @@ -52,5 +53,25 @@ void tst_QSortFilterProxyModelRegularExpression::tst_invalid() QCOMPARE(model.filterRegularExpression(), QRegularExpression(pattern)); } +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" |