The function returns mutable iterator on the object that can later be passed to
e.g. erase(), hence it should detach() to be consistent with
QJsonObject::begin() which also detaches.
Change-Id: Id79e8e012fd5469e06b68fbc9eecb7c6848ce9c1
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
int index = o ? o->indexOf(key, &keyExists) : 0;
if (!keyExists)
return end();
+ detach();
return iterator(this, index);
}
}
{
+ QJsonObject object2 = object;
+ QVERIFY(object == object2);
+
+ QJsonObject::iterator it = object2.find(QString::number(5));
+ object2.erase(it);
+ QCOMPARE(object.size(), 10);
+ QCOMPARE(object2.size(), 9);
+ }
+
+ {
QJsonObject::Iterator it = object.begin();
it += 5;
QCOMPARE(QJsonValue(it.value()).toDouble(), 5.);