summaryrefslogtreecommitdiffstats
path: root/tests
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-24 18:56:58 +0000
commitaae2512c85ff014eeca3c2ae82826dba31f4c259 (patch)
treebaa519f3cee75088101ee730dcde74c5a6ef8f86 /tests
parent401d8848764681b28dd1945813137ed990efeeb3 (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.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 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"