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>
This commit is contained in:
Marc Mutz 2023-06-02 08:44:29 +02:00 committed by Qt Cherry-pick Bot
parent 428821b675
commit ff469d570b

View File

@ -432,6 +432,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)>(); }
@ -3809,6 +3811,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 );