From 6802e3165ea0d7c7bb5b4249ef1bb82f85febf86 Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Fri, 9 Dec 2011 17:21:12 +0100 Subject: Add QVarLengthArray::length(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This also adds a unit test for length()/count()/size(), since there wasn't one testing it explicitly. Change-Id: Ifb7f113aa97beef5f76e5fb246eb38495344b0ad Reviewed-by: João Abecasis Reviewed-by: Marco Schmidt Reviewed-by: Olivier Goffart Reviewed-by: Bradley T. Hughes --- src/corelib/tools/qvarlengtharray.h | 1 + src/corelib/tools/qvarlengtharray.qdoc | 7 +++ .../tools/qvarlengtharray/tst_qvarlengtharray.cpp | 62 ++++++++++++++++++++++ 3 files changed, 70 insertions(+) diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h index 6da6cf524d..fd8c26c128 100644 --- a/src/corelib/tools/qvarlengtharray.h +++ b/src/corelib/tools/qvarlengtharray.h @@ -95,6 +95,7 @@ public: } inline int size() const { return s; } inline int count() const { return s; } + inline int length() const { return s; } inline bool isEmpty() const { return (s == 0); } inline void resize(int size); inline void clear() { resize(0); } diff --git a/src/corelib/tools/qvarlengtharray.qdoc b/src/corelib/tools/qvarlengtharray.qdoc index b1d7a1a5b1..a932e9fbcb 100644 --- a/src/corelib/tools/qvarlengtharray.qdoc +++ b/src/corelib/tools/qvarlengtharray.qdoc @@ -118,6 +118,13 @@ \sa isEmpty(), resize() */ +/*! \fn int QVarLengthArray::length() const + + Same as size(). + + \sa isEmpty(), resize() +*/ + /*! \fn bool QVarLengthArray::isEmpty() const Returns true if the array has size 0; otherwise returns false. diff --git a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp index 0bdc49a15a..54bab55360 100644 --- a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp +++ b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp @@ -55,6 +55,7 @@ private slots: void appendCausingRealloc(); void resize(); void realloc(); + void count(); }; int fooCtor = 0; @@ -593,5 +594,66 @@ void tst_QVarLengthArray::realloc() QVERIFY(reallocTestProceed); } +void tst_QVarLengthArray::count() +{ + // tests size(), count() and length(), since they're the same thing + { + const QVarLengthArray list; + QCOMPARE(list.length(), 0); + QCOMPARE(list.count(), 0); + QCOMPARE(list.size(), 0); + } + + { + QVarLengthArray list; + list.append(0); + QCOMPARE(list.length(), 1); + QCOMPARE(list.count(), 1); + QCOMPARE(list.size(), 1); + } + + { + QVarLengthArray list; + list.append(0); + list.append(1); + QCOMPARE(list.length(), 2); + QCOMPARE(list.count(), 2); + QCOMPARE(list.size(), 2); + } + + { + QVarLengthArray list; + list.append(0); + list.append(0); + list.append(0); + QCOMPARE(list.length(), 3); + QCOMPARE(list.count(), 3); + QCOMPARE(list.size(), 3); + } + + // test removals too + { + QVarLengthArray list; + list.append(0); + list.append(0); + list.append(0); + QCOMPARE(list.length(), 3); + QCOMPARE(list.count(), 3); + QCOMPARE(list.size(), 3); + list.removeLast(); + QCOMPARE(list.length(), 2); + QCOMPARE(list.count(), 2); + QCOMPARE(list.size(), 2); + list.removeLast(); + QCOMPARE(list.length(), 1); + QCOMPARE(list.count(), 1); + QCOMPARE(list.size(), 1); + list.removeLast(); + QCOMPARE(list.length(), 0); + QCOMPARE(list.count(), 0); + QCOMPARE(list.size(), 0); + } +} + QTEST_APPLESS_MAIN(tst_QVarLengthArray) #include "tst_qvarlengtharray.moc" -- cgit v1.2.3