summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools/qlist
diff options
context:
space:
mode:
authorThorbjørn Martsum <tmartsum@gmail.com>2013-07-27 20:14:29 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-24 15:36:30 +0200
commit97f867212f1e6944152c3560b2edb9b8d430847b (patch)
tree3211f7a585949729d921510004e42d992378d360 /tests/auto/corelib/tools/qlist
parentea254957036fcbe64561ae59eb14d5985c4ccffd (diff)
QList - fix insert with iterator on shared instance
This patch ensures correct detach when insert with an iterator is called on a shared instance (i.e same behavior as QVector) Change-Id: Id660eacd3cc7b633456dfa989997bbad747e1df2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/tools/qlist')
-rw-r--r--tests/auto/corelib/tools/qlist/tst_qlist.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qlist/tst_qlist.cpp b/tests/auto/corelib/tools/qlist/tst_qlist.cpp
index 5ed85939ff..2c9bf9d4c9 100644
--- a/tests/auto/corelib/tools/qlist/tst_qlist.cpp
+++ b/tests/auto/corelib/tools/qlist/tst_qlist.cpp
@@ -277,6 +277,7 @@ private slots:
void setSharableComplex_data() const;
void setSharableComplex() const;
void eraseValidIteratorsOnSharedList() const;
+ void insertWithValidIteratorsOnSharedList() const;
private:
template<typename T> void length() const;
template<typename T> void append() const;
@@ -1653,5 +1654,20 @@ void tst_QList::eraseValidIteratorsOnSharedList() const
QCOMPARE(a.at(1), 50);
}
+void tst_QList::insertWithValidIteratorsOnSharedList() const
+{
+ QList<int> a, b;
+ a.push_back(10);
+ a.push_back(20);
+ a.push_back(30);
+ QList<int>::iterator i = a.begin();
+ ++i;
+ b = a;
+ a.insert(i, 15);
+ QCOMPARE(a.size(), b.size() + 1);
+ QCOMPARE(b.at(1), 20);
+ QCOMPARE(a.at(1), 15);
+}
+
QTEST_APPLESS_MAIN(tst_QList)
#include "tst_qlist.moc"