QRegularExpression: fix autotest

Some minor fixes: obviously, a valid match always come from a
valid regular expression, but a valid regular expression can create
an invalid match (internal error during matching).

Also, testing an invalid iterator should silence the emitted
warnings.

Change-Id: I585bb99a81e22f108601fd66bf30b56e0229d68b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Giuseppe D'Angelo 2012-02-23 02:49:52 +00:00 committed by Qt by Nokia
parent c74bc26605
commit 6b78980593
1 changed files with 3 additions and 2 deletions

View File

@ -191,9 +191,8 @@ bool operator!=(const QList<Match> &expectedMatchList, const QRegularExpressionM
void consistencyCheck(const QRegularExpressionMatch &match)
{
QVERIFY(match.isValid() == match.regularExpression().isValid());
if (match.isValid()) {
QVERIFY(match.regularExpression().isValid());
QVERIFY(!(match.hasMatch() && match.hasPartialMatch()));
if (match.hasMatch() || match.hasPartialMatch()) {
@ -260,7 +259,9 @@ void consistencyCheck(const QRegularExpressionMatchIterator &iterator)
}
} else {
QVERIFY(!i.hasNext());
QTest::ignoreMessage(QtWarningMsg, "QRegularExpressionMatchIterator::peekNext() called on an iterator already at end");
QRegularExpressionMatch peeked = i.peekNext();
QTest::ignoreMessage(QtWarningMsg, "QRegularExpressionMatchIterator::next() called on an iterator already at end");
QRegularExpressionMatch match = i.next();
consistencyCheck(peeked);
consistencyCheck(match);