diff options
author | Giuseppe D'Angelo <dangelog@gmail.com> | 2012-02-08 18:53:22 +0000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-06 21:54:17 +0100 |
commit | bd30234b59c1a0cef81b8ce43f2fefac1f28b318 (patch) | |
tree | 90a0b3b712dc51341b17af0e5754c4001d5f611a /tests/auto/corelib | |
parent | aea65cbaa4fd889129d7945600dad3277f9c6d9b (diff) |
QRegularExpression: improve operator==, add dedicated autotest
Trivial change: compare dpointers first, then the data.
Added test function for operator==.
Change-Id: I33ac64a59db4ccad56c30be17622187e42415f38
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r-- | tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp | 64 |
1 files changed, 59 insertions, 5 deletions
diff --git a/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp b/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp index 93cb6823cd..8365a09689 100644 --- a/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp +++ b/tests/auto/corelib/tools/qregularexpression/tst_qregularexpression.cpp @@ -71,6 +71,8 @@ private slots: void globalMatch(); void serialize_data(); void serialize(); + void operatoreq_data(); + void operatoreq(); private: void provideRegularExpressions(); @@ -348,11 +350,6 @@ void tst_QRegularExpression::gettersSetters() QCOMPARE(re.pattern(), pattern); QCOMPARE(re.patternOptions(), patternOptions); } - { - QRegularExpression re(pattern, patternOptions); - QRegularExpression re2(pattern, patternOptions); - QVERIFY(re == re2); - } } void tst_QRegularExpression::escape_data() @@ -1144,6 +1141,63 @@ void tst_QRegularExpression::serialize() QCOMPARE(inRe, outRe); } +static void verifyEquality(const QRegularExpression &re1, const QRegularExpression &re2) +{ + QVERIFY(re1 == re2); + QVERIFY(re2 == re1); + QVERIFY(!(re1 != re2)); + QVERIFY(!(re2 != re1)); + + QRegularExpression re3(re1); + + QVERIFY(re1 == re3); + QVERIFY(re3 == re1); + QVERIFY(!(re1 != re3)); + QVERIFY(!(re3 != re1)); + + QVERIFY(re2 == re3); + QVERIFY(re3 == re2); + QVERIFY(!(re2 != re3)); + QVERIFY(!(re3 != re2)); + + re3 = re2; + QVERIFY(re1 == re3); + QVERIFY(re3 == re1); + QVERIFY(!(re1 != re3)); + QVERIFY(!(re3 != re1)); + + QVERIFY(re2 == re3); + QVERIFY(re3 == re2); + QVERIFY(!(re2 != re3)); + QVERIFY(!(re3 != re2)); +} + +void tst_QRegularExpression::operatoreq_data() +{ + provideRegularExpressions(); +} + +void tst_QRegularExpression::operatoreq() +{ + QFETCH(QString, pattern); + QFETCH(QRegularExpression::PatternOptions, patternOptions); + { + QRegularExpression re1(pattern); + QRegularExpression re2(pattern); + verifyEquality(re1, re2); + } + { + QRegularExpression re1(QString(), patternOptions); + QRegularExpression re2(QString(), patternOptions); + verifyEquality(re1, re2); + } + { + QRegularExpression re1(pattern, patternOptions); + QRegularExpression re2(pattern, patternOptions); + verifyEquality(re1, re2); + } +} + QTEST_APPLESS_MAIN(tst_QRegularExpression) #include "tst_qregularexpression.moc" |