From f7b5f0cfd292baad7a18f1b83567133756ff1d2c Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 31 Mar 2015 00:14:24 +0200 Subject: QList: add {const_,reverse_iterator}, {c,}r{begin,end}() [ChangeLog][QtCore][QList] Added rbegin(), crbegin(), rend(), crend(), and reverse_iterator and const_reverse_iterator typedefs. Task-number: QTBUG-25919 Change-Id: Icce870c22931e68cdcedd1519651bfa374ac44af Reviewed-by: Thiago Macieira --- tests/auto/corelib/tools/qlist/tst_qlist.cpp | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'tests/auto/corelib/tools/qlist') diff --git a/tests/auto/corelib/tools/qlist/tst_qlist.cpp b/tests/auto/corelib/tools/qlist/tst_qlist.cpp index 6ec3064564..9b12083b18 100644 --- a/tests/auto/corelib/tools/qlist/tst_qlist.cpp +++ b/tests/auto/corelib/tools/qlist/tst_qlist.cpp @@ -349,6 +349,9 @@ private slots: void replaceOptimal() const; void replaceMovable() const; void replaceComplex() const; + void reverseIteratorsOptimal() const; + void reverseIteratorsMovable() const; + void reverseIteratorsComplex() const; void startsWithOptimal() const; void startsWithMovable() const; void startsWithComplex() const; @@ -416,6 +419,7 @@ private: template void removeAt() const; template void removeOne() const; template void replace() const; + template void reverseIterators() const; template void startsWith() const; template void swap() const; template void takeAt() const; @@ -1239,6 +1243,43 @@ void tst_QList::replaceComplex() const QCOMPARE(liveCount, Complex::getLiveCount()); } +template +void tst_QList::reverseIterators() const +{ + QList v; + v << T_CAT << T_DOG << T_BLAH << T_BAZ; + QList vr = v; + std::reverse(vr.begin(), vr.end()); + const QList &cvr = vr; + QVERIFY(std::equal(v.begin(), v.end(), vr.rbegin())); + QVERIFY(std::equal(v.begin(), v.end(), vr.crbegin())); + QVERIFY(std::equal(v.begin(), v.end(), cvr.rbegin())); + QVERIFY(std::equal(vr.rbegin(), vr.rend(), v.begin())); + QVERIFY(std::equal(vr.crbegin(), vr.crend(), v.begin())); + QVERIFY(std::equal(cvr.rbegin(), cvr.rend(), v.begin())); +} + +void tst_QList::reverseIteratorsOptimal() const +{ + const int liveCount = Optimal::getLiveCount(); + reverseIterators(); + QCOMPARE(liveCount, Optimal::getLiveCount()); +} + +void tst_QList::reverseIteratorsMovable() const +{ + const int liveCount = Movable::getLiveCount(); + reverseIterators(); + QCOMPARE(liveCount, Movable::getLiveCount()); +} + +void tst_QList::reverseIteratorsComplex() const +{ + const int liveCount = Complex::getLiveCount(); + reverseIterators(); + QCOMPARE(liveCount, Complex::getLiveCount()); +} + template void tst_QList::startsWith() const { -- cgit v1.2.3