QString/QByteArray: add tests for replace() with negative lengths
Change-Id: I6bb67a65fdb0d61e1e1e36dd271c98df7849a305 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
ef0b8bc730
commit
1b66b6533e
@ -1480,6 +1480,12 @@ void tst_QByteArray::replace_pos_len_data()
|
|||||||
// index out of range
|
// index out of range
|
||||||
QTest::newRow("5") << QByteArray() << 3 << 0 << QByteArray("hi")
|
QTest::newRow("5") << QByteArray() << 3 << 0 << QByteArray("hi")
|
||||||
<< QByteArray();
|
<< QByteArray();
|
||||||
|
|
||||||
|
QTest::newRow("negative-before-len-1") << QByteArray("yyyy") << 3 << -1
|
||||||
|
<< QByteArray("ZZZZ") << QByteArray("yyyZZZZy");
|
||||||
|
QTest::newRow("negative-before-len-2") << QByteArray("yyyy") << 3 << -2
|
||||||
|
<< QByteArray("ZZZZ") << QByteArray("yyyZZZZy");
|
||||||
|
|
||||||
// Optimized path
|
// Optimized path
|
||||||
QTest::newRow("6") << QByteArray("abcdef") << 3 << 12
|
QTest::newRow("6") << QByteArray("abcdef") << 3 << 12
|
||||||
<< QByteArray("abcdefghijkl") << QByteArray("abcabcdefghijkl");
|
<< QByteArray("abcdefghijkl") << QByteArray("abcabcdefghijkl");
|
||||||
|
@ -1013,6 +1013,14 @@ void tst_QString::replace_pos_len_data()
|
|||||||
<< qsizetype(0) << qsizetype(10) << u"XX"_s
|
<< qsizetype(0) << qsizetype(10) << u"XX"_s
|
||||||
<< u"XX"_s;
|
<< u"XX"_s;
|
||||||
|
|
||||||
|
// TODO: Fix, broken unexpected behavior
|
||||||
|
QTest::newRow("negative-before-len-1") << u"yyyy"_s
|
||||||
|
<< qsizetype(3) << qsizetype(-1) << u"ZZZZ"_s
|
||||||
|
<< u"yyyZZZZyy"_s;
|
||||||
|
QTest::newRow("negative-before-len-2") << u"yyyy"_s
|
||||||
|
<< qsizetype(3) << qsizetype(-2) << u"ZZZZ"_s
|
||||||
|
<< u"yyyZZZZyyy"_s;
|
||||||
|
|
||||||
// This is a regression test for an old bug where QString would add index and len parameters,
|
// This is a regression test for an old bug where QString would add index and len parameters,
|
||||||
// potentially causing integer overflow.
|
// potentially causing integer overflow.
|
||||||
constexpr qsizetype maxSize = std::numeric_limits<qsizetype>::max();
|
constexpr qsizetype maxSize = std::numeric_limits<qsizetype>::max();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user