Add QVarLengthArray::length().
authorRobin Burchell <robin.burchell@collabora.com>
Fri, 9 Dec 2011 16:21:12 +0000 (17:21 +0100)
committerQt by Nokia <qt-info@nokia.com>
Mon, 12 Dec 2011 16:27:19 +0000 (17:27 +0100)
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 <joao.abecasis@nokia.com>
Reviewed-by: Marco Schmidt <Marco.Schmidt@Taugamma.de>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
src/corelib/tools/qvarlengtharray.h
src/corelib/tools/qvarlengtharray.qdoc
tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp

index 6da6cf5..fd8c26c 100644 (file)
@@ -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); }
index b1d7a1a..a932e9f 100644 (file)
     \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.
index 0bdc49a..54bab55 100644 (file)
@@ -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<int> list;
+        QCOMPARE(list.length(), 0);
+        QCOMPARE(list.count(), 0);
+        QCOMPARE(list.size(), 0);
+    }
+
+    {
+        QVarLengthArray<int> list;
+        list.append(0);
+        QCOMPARE(list.length(), 1);
+        QCOMPARE(list.count(), 1);
+        QCOMPARE(list.size(), 1);
+    }
+
+    {
+        QVarLengthArray<int> list;
+        list.append(0);
+        list.append(1);
+        QCOMPARE(list.length(), 2);
+        QCOMPARE(list.count(), 2);
+        QCOMPARE(list.size(), 2);
+    }
+
+    {
+        QVarLengthArray<int> 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<int> 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"