From 205629bb6240a4aae52aa62f6f6c9c302148efd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= Date: Fri, 23 Oct 2020 12:00:56 +0200 Subject: QByteArray: make (ap|pre)pend(const QByteArray &) consider reserved Append was previously optimized for lhs being empty but it should've also taken into account if space had been reserved. Apply the same optimization to prepend while we're at it. Change-Id: I5e5d33a3189b9ad88d45e858a2ac412cbc294f79 Reviewed-by: Andrei Golubev Reviewed-by: Thiago Macieira --- tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/auto') diff --git a/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp b/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp index 2f0f5654ca..cf70a7bbaa 100644 --- a/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp +++ b/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp @@ -838,6 +838,12 @@ void tst_QByteArray::prepend() QCOMPARE(ba.prepend(-1, 'x'), QByteArray("321foo")); QCOMPARE(ba.prepend(3, 'x'), QByteArray("xxx321foo")); QCOMPARE(ba.prepend("\0 ", 2), QByteArray::fromRawData("\0 xxx321foo", 11)); + + QByteArray tenChars; + tenChars.reserve(10); + QByteArray twoChars("ab"); + tenChars.prepend(twoChars); + QCOMPARE(tenChars.capacity(), 10); } void tst_QByteArray::prependExtended_data() @@ -882,6 +888,12 @@ void tst_QByteArray::append() QCOMPARE(ba.append("\0"), QByteArray("foo123xxx")); QCOMPARE(ba.append("\0", 1), QByteArray::fromRawData("foo123xxx\0", 10)); QCOMPARE(ba.size(), 10); + + QByteArray tenChars; + tenChars.reserve(10); + QByteArray twoChars("ab"); + tenChars.append(twoChars); + QCOMPARE(tenChars.capacity(), 10); } void tst_QByteArray::appendExtended_data() -- cgit v1.2.3