summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp')
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
index 70448f9813..bd1c6a0dc5 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
@@ -242,6 +242,7 @@ private slots:
void style();
void sorting_data();
void sorting();
+ void insertionOrder();
void changedSignal_data();
void changedSignal();
void stickyFocus_data();
@@ -3633,6 +3634,42 @@ void tst_QGraphicsScene::sorting()
<< t_1);
}
+void tst_QGraphicsScene::insertionOrder()
+{
+ QGraphicsScene scene;
+ const int numItems = 5;
+ QList<QGraphicsItem*> items;
+
+ for (int i = 0; i < numItems; ++i) {
+ QGraphicsRectItem* item = new QGraphicsRectItem(i * 20, i * 20, 200, 200);
+ item->setData(0, i);
+ items.append(item);
+ scene.addItem(item);
+ }
+
+ {
+ QList<QGraphicsItem*> itemList = scene.items();
+ QCOMPARE(itemList.count(), numItems);
+ for (int i = 0; i < itemList.count(); ++i) {
+ QCOMPARE(numItems-1-i, itemList.at(i)->data(0).toInt());
+ }
+ }
+
+ for (int i = 0; i < items.size(); ++i)
+ {
+ scene.removeItem(items.at(i));
+ scene.addItem(items.at(i));
+ }
+
+ {
+ QList<QGraphicsItem*> itemList = scene.items();
+ QCOMPARE(itemList.count(), numItems);
+ for (int i = 0; i < itemList.count(); ++i) {
+ QCOMPARE(numItems-1-i, itemList.at(i)->data(0).toInt());
+ }
+ }
+}
+
class ChangedListener : public QObject
{
Q_OBJECT