]>
cloud.milkyroute.net Git - dolphin.git/blob - src/tests/kstandarditemmodeltest.cpp
2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
3 * SPDX-FileCopyrightText: 2011 Frank Reininghaus <frank78ac@googlemail.com>
5 * SPDX-License-Identifier: GPL-2.0-or-later
8 #include "dolphindebug.h"
10 #include "kitemviews/kstandarditem.h"
11 #include "kitemviews/kstandarditemmodel.h"
15 class KStandardItemModelTest
: public QObject
24 void testRemoveItems();
27 bool isModelConsistent() const;
30 KStandardItemModel
* m_model
;
33 void KStandardItemModelTest::init()
35 m_model
= new KStandardItemModel();
38 void KStandardItemModelTest::cleanup()
44 void KStandardItemModelTest::testNewItems()
46 m_model
->insertItem(0, new KStandardItem("item 1"));
47 m_model
->insertItem(0, new KStandardItem("item 2"));
48 m_model
->insertItem(2, new KStandardItem("item 3"));
49 m_model
->appendItem(new KStandardItem("item 4"));
50 m_model
->insertItem(-1, new KStandardItem("invalid 1"));
51 m_model
->insertItem(5, new KStandardItem("invalid 2"));
52 QCOMPARE(m_model
->count(), 4);
53 QCOMPARE(m_model
->item(0)->text(), QString("item 2"));
54 QCOMPARE(m_model
->item(1)->text(), QString("item 1"));
55 QCOMPARE(m_model
->item(2)->text(), QString("item 3"));
56 QCOMPARE(m_model
->item(3)->text(), QString("item 4"));
58 QVERIFY(isModelConsistent());
61 void KStandardItemModelTest::testRemoveItems()
63 for (int i
= 1; i
<= 10; ++i
) {
64 m_model
->appendItem(new KStandardItem("item " + QString::number(i
)));
67 m_model
->removeItem(0);
68 m_model
->removeItem(3);
69 m_model
->removeItem(5);
70 m_model
->removeItem(-1);
71 QCOMPARE(m_model
->count(), 7);
72 QCOMPARE(m_model
->item(0)->text(), QString("item 2"));
73 QCOMPARE(m_model
->item(1)->text(), QString("item 3"));
74 QCOMPARE(m_model
->item(2)->text(), QString("item 4"));
75 QCOMPARE(m_model
->item(3)->text(), QString("item 6"));
76 QCOMPARE(m_model
->item(4)->text(), QString("item 7"));
77 QCOMPARE(m_model
->item(5)->text(), QString("item 9"));
78 QCOMPARE(m_model
->item(6)->text(), QString("item 10"));
81 bool KStandardItemModelTest::isModelConsistent() const
83 if (m_model
->m_items
.count() != m_model
->m_indexesForItems
.count()) {
87 for (int i
= 0; i
< m_model
->count(); ++i
) {
88 const KStandardItem
* item
= m_model
->item(i
);
90 qCWarning(DolphinDebug
) << "Item" << i
<< "is null";
94 const int itemIndex
= m_model
->index(item
);
96 qCWarning(DolphinDebug
) << "Item" << i
<< "has a wrong index:" << itemIndex
;
104 QTEST_GUILESS_MAIN(KStandardItemModelTest
)
106 #include "kstandarditemmodeltest.moc"