summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/itemmodels
diff options
context:
space:
mode:
authorMarcel Krems <m.krems@software-vision.eu>2020-04-05 16:47:31 +0200
committerMarcel Krems <m.krems@software-vision.eu>2020-08-23 02:35:37 +0200
commit9a921d78e87452962043721669f3027f7566eef4 (patch)
tree85ea8846f6c8efcc77ce96e105a865a3137ff2aa /tests/auto/corelib/itemmodels
parentd9d813b6d1f21f4f25482e22fe31eca13762a877 (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.cpp21
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"