summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp')
-rw-r--r--tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
index f305edb2c5..9fab36deaa 100644
--- a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
+++ b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp
@@ -458,6 +458,34 @@ void tst_QAbstractItemModel::match()
res = model.match(start, Qt::DisplayRole, QVariant("bat"), -1,
Qt::MatchFixedString | Qt::MatchCaseSensitive);
QCOMPARE(res.count(), 1);
+
+ res = model.match(start, Qt::DisplayRole, QVariant(".*O.*"), -1,
+ Qt::MatchRegularExpression);
+ QCOMPARE(res.count(), 2);
+ res = model.match(start, Qt::DisplayRole, QVariant(".*O.*"), -1,
+ Qt::MatchRegularExpression | Qt::MatchCaseSensitive);
+ QCOMPARE(res.count(), 0);
+
+ res = model.match(start, Qt::DisplayRole, QVariant(QRegularExpression(".*O.*")),
+ -1, Qt::MatchRegularExpression);
+ QCOMPARE(res.count(), 0);
+ res = model.match(start,
+ Qt::DisplayRole,
+ QVariant(QRegularExpression(".*O.*",
+ QRegularExpression::CaseInsensitiveOption)),
+ -1,
+ Qt::MatchRegularExpression);
+ QCOMPARE(res.count(), 2);
+
+ // Ensure that the case sensitivity is properly ignored when passing a
+ // QRegularExpression object.
+ res = model.match(start,
+ Qt::DisplayRole,
+ QVariant(QRegularExpression(".*O.*",
+ QRegularExpression::CaseInsensitiveOption)),
+ -1,
+ Qt::MatchRegularExpression | Qt::MatchCaseSensitive);
+ QCOMPARE(res.count(), 2);
}
typedef QPair<int, int> Position;