diff options
author | Thorbjørn Martsum <tmartsum@gmail.com> | 2013-07-27 20:14:29 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-24 15:36:30 +0200 |
commit | 97f867212f1e6944152c3560b2edb9b8d430847b (patch) | |
tree | 3211f7a585949729d921510004e42d992378d360 /tests/auto/corelib/tools/qlist | |
parent | ea254957036fcbe64561ae59eb14d5985c4ccffd (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.cpp | 16 |
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" |