summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools/qvarlengtharray
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-03-02 09:04:38 +0100
committerLiang Qi <liang.qi@qt.io>2017-03-02 09:04:38 +0100
commit71264bae08d81bdeceb96133fdb01c370504dfcc (patch)
treed5dadaac8209d5ef1857a4d65197b9ee12b39848 /tests/auto/corelib/tools/qvarlengtharray
parent5e785c0b83c9908c665f253c131629ac325a21f5 (diff)
parent6d10f739cd750968d0dd0e9d8fa4b64353a86c6c (diff)
Merge remote-tracking branch 'origin/5.9' into dev
Diffstat (limited to 'tests/auto/corelib/tools/qvarlengtharray')
-rw-r--r--tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
index 280305ddd8..3971353cbb 100644
--- a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
+++ b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
@@ -75,8 +75,21 @@ struct Foo
void tst_QVarLengthArray::append()
{
- QVarLengthArray<QString> v;
- v.append(QString("hello"));
+ QVarLengthArray<QString, 2> v;
+ v.append(QString("1"));
+ v.append(v.front());
+ QCOMPARE(v.capacity(), 2);
+ // transition from prealloc to heap:
+ v.append(v.front());
+ QVERIFY(v.capacity() > 2);
+ QCOMPARE(v.front(), v.back());
+ while (v.size() < v.capacity())
+ v.push_back(v[0]);
+ QCOMPARE(v.back(), v.front());
+ QCOMPARE(v.size(), v.capacity());
+ // transition from heap to larger heap:
+ v.push_back(v.front());
+ QCOMPARE(v.back(), v.front());
QVarLengthArray<int> v2; // rocket!
v2.append(5);