diff options
Diffstat (limited to 'tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp')
-rw-r--r-- | tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp index bda3a2596f..c19080e345 100644 --- a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp +++ b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp @@ -58,6 +58,7 @@ private slots: void count(); void first(); void last(); + void squeeze(); }; int fooCtor = 0; @@ -653,5 +654,28 @@ void tst_QVarLengthArray::last() QCOMPARE(list.length(), 1); } +void tst_QVarLengthArray::squeeze() +{ + QVarLengthArray<int> list; + int sizeOnStack = list.capacity(); + int sizeOnHeap = sizeOnStack * 2; + list.resize(0); + QCOMPARE(list.capacity(), sizeOnStack); + list.resize(sizeOnHeap); + QCOMPARE(list.capacity(), sizeOnHeap); + list.resize(sizeOnStack); + QCOMPARE(list.capacity(), sizeOnHeap); + list.resize(0); + QCOMPARE(list.capacity(), sizeOnHeap); + list.squeeze(); + QCOMPARE(list.capacity(), sizeOnStack); + list.resize(sizeOnStack); + list.squeeze(); + QCOMPARE(list.capacity(), sizeOnStack); + list.resize(sizeOnHeap); + list.squeeze(); + QCOMPARE(list.capacity(), sizeOnHeap); +} + QTEST_APPLESS_MAIN(tst_QVarLengthArray) #include "tst_qvarlengtharray.moc" |