QByteArray: add erase() unittests

Basic unitttest and one to verify erase returns iterator, not
const_iterator.

Change-Id: I44c3b82b4686ff3809648063376f5e36fb7e181d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Ahmad Samir 2022-10-21 22:22:51 +02:00
parent ded2fd9ff4
commit 7000e2dd5c
1 changed files with 28 additions and 0 deletions

View File

@ -68,6 +68,7 @@ private slots:
void remove_data();
void remove();
void removeIf();
void erase();
void erase_single_arg();
void replace_data();
void replace();
@ -1280,6 +1281,33 @@ void tst_QByteArray::removeIf()
QCOMPARE(a.removeIf(removeA), QByteArray("BcbC"));
}
void tst_QByteArray::erase()
{
{
QByteArray ba = "kittens";
auto it = ba.erase(ba.cbegin(), ba.cbegin() + 2);
QCOMPARE(ba, "ttens");
QCOMPARE(it, ba.cbegin());
}
{
QByteArray ba = "kittens";
auto it = ba.erase(ba.cbegin(), ba.cend());
QCOMPARE(ba, "");
QCOMPARE(it, ba.cbegin());
QCOMPARE(ba.cbegin(), ba.cend());
}
{
QByteArray ba = "kite";
auto it = ba.erase(ba.cbegin(), ba.cbegin());
// erase() should return an iterator (not const_iterator)
*it = 'Z';
QCOMPARE(ba, "Zite");
QCOMPARE(it, ba.cbegin());
}
}
void tst_QByteArray::erase_single_arg()
{
QByteArray ba = "abcdefg";