summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2023-06-02 08:44:29 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-06-07 13:50:10 +0000
commitc2ce67af9fc3e67431ca9992cfc7a17f4b5005e2 (patch)
treef28e34cb5abb46760be7831e473d0a55ec74f7df /tests
parent23c60c8ee005d0dff312c6fa33f7153f25b51c97 (diff)
Add tst_QString::prependEventuallyProducesFreeSpaceAtBegin()
This seems to work with prepend(char), but not with prepend("data"), cf. QTBUG-114167. Task-number: QTBUG-114167 Change-Id: I7aa4dca7c2b5938c2e5ad416231945c23140d659 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> (cherry picked from commit e4682408b036b95d4edfb7e324c8e6835230d263) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/text/qstring/tst_qstring.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/auto/corelib/text/qstring/tst_qstring.cpp b/tests/auto/corelib/text/qstring/tst_qstring.cpp
index fa39e7c413..cb8be937f9 100644
--- a/tests/auto/corelib/text/qstring/tst_qstring.cpp
+++ b/tests/auto/corelib/text/qstring/tst_qstring.cpp
@@ -419,6 +419,8 @@ private slots:
void prepend_char_data() { prepend_data({EmptyIsNoop, Latin1Encoded}); }
#endif
+ void prependEventuallyProducesFreeSpaceAtBegin();
+
void append_qstring() { append_impl<QString>(); }
void append_qstring_data() { append_data(); }
void append_qstringview() { append_impl<QStringView, QString &(QString::*)(QStringView)>(); }
@@ -3500,6 +3502,14 @@ void tst_QString::prepend_bytearray_special_cases()
}
#endif // !defined(QT_RESTRICTED_CAST_FROM_ASCII) && !defined(QT_NO_CAST_FROM_ASCII)
+void tst_QString::prependEventuallyProducesFreeSpaceAtBegin()
+{
+ QString s;
+ for (int i = 0; i < 100 && !s.data_ptr().freeSpaceAtBegin(); ++i)
+ s.prepend(u'd');
+ QCOMPARE_GT(s.data_ptr().freeSpaceAtBegin(), 1);
+}
+
void tst_QString::replace_uint_uint()
{
QFETCH( QString, string );