qt6-bb10/tests/auto/corelib/text
Ivan Solovev e150bcfe4d QByteArray: fix indexOf/lastIndexOf
This patch fixed two bugs in indexOf/lastIndexOf:
1. The lastIndexOf(char, qsizetype) overload was crashing with an empty
   QByteArray. It was unconditionally calling lastIndexOfCharHelper()
   which assumes that this QBA is not empty. An explicit check for
   the empty case is added.
2. The indexOf(QByteArray, qsizetype) overload was behaving incorrectly
   while searching for an empty QByteArray. In this case it
   unconditionally returned its second parameter (from). However, from
   can be negative, or even exceed the size of this QByteArray. This
   patch handles this cases properly.

As a drive-by: this patch adjusts the QByteArray::indexOf(char, qsizetype)
and QByteArray::lastIndexOf(char, qsizetype) overloads to match with the
QByteArrayView implementation. This is done to have similar code paths
in both cases and avoid tricky bugs in future.
Ideally we had to adjust the QByteArrayView implementation, but it's
fully inline, so can't be changed without breaking BC.

Task-number: QTBUG-91736
Pick-to: 6.2 6.1
Change-Id: Iaef2fdc5b99cce6aa342cca2d17544a1ad7ca677
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2021-07-29 15:00:35 +02:00
..
qbytearray Add more tests for QList/QString/QBA 2021-04-27 14:12:34 +02:00
qbytearrayapisymmetry QByteArray: fix indexOf/lastIndexOf 2021-07-29 15:00:35 +02:00
qbytearraylist Remove the qmake project files 2021-01-07 15:32:28 +01:00
qbytearraymatcher Remove the qmake project files 2021-01-07 15:32:28 +01:00
qbytearrayview QByteArrayView: add compare 2021-05-20 17:02:38 +02:00
qbytedatabuffer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qchar Hangul composition: use < base + count checks, not <= checks 2021-06-11 13:57:19 +02:00
qcollator Mark variables that might be unused under some configurations 2021-04-11 19:53:43 +02:00
qlatin1string QLatin1String: Add a constructor taking QByteArrayView 2021-06-12 03:08:59 +02:00
qlocale tst_qlocale: Add tests for parsing Chakma date and time strings 2021-07-19 22:05:54 +02:00
qregularexpression QRegularExpression: add move constructor 2021-01-26 17:20:01 +01:00
qstring Fix QString test compilation without QRegularExpression 2021-07-29 14:36:49 +02:00
qstring_no_cast_from_bytearray Remove the qmake project files 2021-01-07 15:32:28 +01:00
qstringapisymmetry tst_qstringapisymmetry: add checks for common overload sets 2021-06-25 16:20:41 +02:00
qstringbuilder Remove the qmake project files 2021-01-07 15:32:28 +01:00
qstringconverter Remove the qmake project files 2021-01-07 15:32:28 +01:00
qstringiterator Remove the qmake project files 2021-01-07 15:32:28 +01:00
qstringlist Ensure test using setlocale() doesn't leave it permanently changed 2021-06-12 00:03:53 +02:00
qstringmatcher Remove the qmake project files 2021-01-07 15:32:28 +01:00
qstringtokenizer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qstringview Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtextboundaryfinder Unicode: fix the extended grapheme cluster algorithm 2021-04-16 20:31:39 +02:00
CMakeLists.txt Android: blacklist a list of failing tests for android 2020-11-04 12:27:49 +02:00