Correct QString's warnings involving QRegularExpression.

Replaces "QRegularExpresssion" with "QRegularExpression" and adds some
auto tests for the warning itself.

Task-number: QTBUG-30054

Change-Id: Iba333a4388795eccca809fb430c295f503794263
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
This commit is contained in:
Mitch Curtis 2013-03-11 13:58:35 +01:00 committed by The Qt Project
parent 6bc691dde5
commit c1771a78ed
2 changed files with 21 additions and 7 deletions

View File

@ -2948,7 +2948,7 @@ QString& QString::replace(const QRegExp &rx, const QString &after)
QString &QString::replace(const QRegularExpression &re, const QString &after)
{
if (!re.isValid()) {
qWarning("QString::replace: invalid QRegularExpresssion object");
qWarning("QString::replace: invalid QRegularExpression object");
return *this;
}
@ -3273,7 +3273,7 @@ int QString::count(const QRegExp& rx) const
int QString::indexOf(const QRegularExpression& re, int from) const
{
if (!re.isValid()) {
qWarning("QString::indexOf: invalid QRegularExpresssion object");
qWarning("QString::indexOf: invalid QRegularExpression object");
return -1;
}
@ -3299,7 +3299,7 @@ int QString::indexOf(const QRegularExpression& re, int from) const
int QString::lastIndexOf(const QRegularExpression &re, int from) const
{
if (!re.isValid()) {
qWarning("QString::lastIndexOf: invalid QRegularExpresssion object");
qWarning("QString::lastIndexOf: invalid QRegularExpression object");
return -1;
}
@ -3328,7 +3328,7 @@ int QString::lastIndexOf(const QRegularExpression &re, int from) const
bool QString::contains(const QRegularExpression &re) const
{
if (!re.isValid()) {
qWarning("QString::contains: invalid QRegularExpresssion object");
qWarning("QString::contains: invalid QRegularExpression object");
return false;
}
QRegularExpressionMatch match = re.match(*this);
@ -3350,7 +3350,7 @@ bool QString::contains(const QRegularExpression &re) const
int QString::count(const QRegularExpression &re) const
{
if (!re.isValid()) {
qWarning("QString::count: invalid QRegularExpresssion object");
qWarning("QString::count: invalid QRegularExpression object");
return 0;
}
int count = 0;

View File

@ -156,6 +156,7 @@ private slots:
void count();
void lastIndexOf_data();
void lastIndexOf();
void lastIndexOfInvalidRegex();
void indexOf_data();
void indexOf();
void indexOf2_data();
@ -633,6 +634,7 @@ void tst_QString::replace_regexp_data()
<< QString("a9a8a7a6a5nmlkjii0hh0gg0ff0ee0dd0cc0bb0a");
QTest::newRow("backref10") << QString("abc") << QString("((((((((((((((abc))))))))))))))")
<< QString("\\0\\01\\011") << QString("\\0\\01\\011");
QTest::newRow("invalid") << QString("") << QString("invalid regex\\") << QString("") << QString("");
}
void tst_QString::utf8_data()
@ -1379,6 +1381,12 @@ void tst_QString::lastIndexOf()
}
}
void tst_QString::lastIndexOfInvalidRegex()
{
QTest::ignoreMessage(QtWarningMsg, "QString::lastIndexOf: invalid QRegularExpression object");
QCOMPARE(QString("").lastIndexOf(QRegularExpression("invalid regex\\"), 0), -1);
}
void tst_QString::count()
{
QString a;
@ -1396,7 +1404,8 @@ void tst_QString::count()
QCOMPARE(a.count(QRegExp("[G][HE]")),2);
QCOMPARE(a.count(QRegularExpression("[FG][HI]")), 1);
QCOMPARE(a.count(QRegularExpression("[G][HE]")), 2);
QTest::ignoreMessage(QtWarningMsg, "QString::count: invalid QRegularExpression object");
QCOMPARE(a.count(QRegularExpression("invalid regex\\")), 0);
CREATE_REF(QLatin1String("FG"));
QCOMPARE(a.count(ref),2);
@ -1432,6 +1441,8 @@ void tst_QString::contains()
QStringRef emptyRef(&a, 0, 0);
QVERIFY(a.contains(emptyRef, Qt::CaseInsensitive));
QTest::ignoreMessage(QtWarningMsg, "QString::contains: invalid QRegularExpression object");
QVERIFY(!a.contains(QRegularExpression("invalid regex\\")));
}
@ -2342,7 +2353,10 @@ void tst_QString::replace_regexp()
s2.replace( QRegExp(regexp), after );
QTEST( s2, "result" );
s2 = string;
s2.replace( QRegularExpression(regexp), after );
QRegularExpression regularExpression(regexp);
if (!regularExpression.isValid())
QTest::ignoreMessage(QtWarningMsg, "QString::replace: invalid QRegularExpression object");
s2.replace( regularExpression, after );
QTEST( s2, "result" );
}