QRegularExpression: fix autotest
authorGiuseppe D'Angelo <dangelog@gmail.com>
Thu, 23 Feb 2012 02:49:52 +0000 (02:49 +0000)
committerQt by Nokia <qt-info@nokia.com>
Tue, 6 Mar 2012 23:02:39 +0000 (00:02 +0100)
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>
tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp

index 9430425..238d862 100644 (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);