summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools
diff options
context:
space:
mode:
authorThorbjørn Martsum <tmartsum@gmail.com>2013-06-17 11:35:46 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-24 15:36:30 +0200
commitc35b55f076baf8cfd62549e8e386bfd95853de69 (patch)
treee371b4e9d05bc3ad4a86f6563605e25f4f8224ee /tests/auto/corelib/tools
parent97f867212f1e6944152c3560b2edb9b8d430847b (diff)
QLinkedList - fix insert with iterator when the list is shared.
Before a call to erase on a shared instance would imply that the item was inserted into the shared data (i.e all instances) Change-Id: I655ccf04b1ad9bf82e6bfade58929538fa7df000 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/tools')
-rw-r--r--tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp b/tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp
index b1a9946a0f..3fa78f5f13 100644
--- a/tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp
+++ b/tests/auto/corelib/tools/qlinkedlist/tst_qlinkedlist.cpp
@@ -47,6 +47,7 @@ class tst_QLinkedList : public QObject
Q_OBJECT
private slots:
void eraseValidIteratorsOnSharedList() const;
+ void insertWithIteratorsOnSharedList() const;
};
void tst_QLinkedList::eraseValidIteratorsOnSharedList() const
@@ -73,5 +74,23 @@ void tst_QLinkedList::eraseValidIteratorsOnSharedList() const
QCOMPARE(*r, 10); // Ensure that number 2 instance was removed;
}
+void tst_QLinkedList::insertWithIteratorsOnSharedList() const
+{
+ QLinkedList<int> a, b;
+ a.append(5);
+ a.append(10);
+ a.append(20);
+ QLinkedList<int>::iterator i = a.begin();
+ ++i;
+ ++i;
+ b = a;
+
+ QLinkedList<int>::iterator i2 = a.insert(i, 15);
+ QCOMPARE(b.size(), 3);
+ QCOMPARE(a.size(), 4);
+ --i2;
+ QCOMPARE(*i2, 10);
+}
+
QTEST_MAIN(tst_QLinkedList)
#include "tst_qlinkedlist.moc"