]>
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"
13 #include <QStandardPaths>
16 class KStandardItemModelTest
: public QObject
26 void testRemoveItems();
29 bool isModelConsistent() const;
32 KStandardItemModel
* m_model
;
35 void KStandardItemModelTest::initTestCase()
37 QStandardPaths::setTestModeEnabled(true);
40 void KStandardItemModelTest::init()
42 m_model
= new KStandardItemModel();
45 void KStandardItemModelTest::cleanup()
51 void KStandardItemModelTest::testNewItems()
53 m_model
->insertItem(0, new KStandardItem("item 1"));
54 m_model
->insertItem(0, new KStandardItem("item 2"));
55 m_model
->insertItem(2, new KStandardItem("item 3"));
56 m_model
->appendItem(new KStandardItem("item 4"));
57 m_model
->insertItem(-1, new KStandardItem("invalid 1"));
58 m_model
->insertItem(5, new KStandardItem("invalid 2"));
59 QCOMPARE(m_model
->count(), 4);
60 QCOMPARE(m_model
->item(0)->text(), QString("item 2"));
61 QCOMPARE(m_model
->item(1)->text(), QString("item 1"));
62 QCOMPARE(m_model
->item(2)->text(), QString("item 3"));
63 QCOMPARE(m_model
->item(3)->text(), QString("item 4"));
65 QVERIFY(isModelConsistent());
68 void KStandardItemModelTest::testRemoveItems()
70 for (int i
= 1; i
<= 10; ++i
) {
71 m_model
->appendItem(new KStandardItem("item " + QString::number(i
)));
74 m_model
->removeItem(0);
75 m_model
->removeItem(3);
76 m_model
->removeItem(5);
77 m_model
->removeItem(-1);
78 QCOMPARE(m_model
->count(), 7);
79 QCOMPARE(m_model
->item(0)->text(), QString("item 2"));
80 QCOMPARE(m_model
->item(1)->text(), QString("item 3"));
81 QCOMPARE(m_model
->item(2)->text(), QString("item 4"));
82 QCOMPARE(m_model
->item(3)->text(), QString("item 6"));
83 QCOMPARE(m_model
->item(4)->text(), QString("item 7"));
84 QCOMPARE(m_model
->item(5)->text(), QString("item 9"));
85 QCOMPARE(m_model
->item(6)->text(), QString("item 10"));
88 bool KStandardItemModelTest::isModelConsistent() const
90 if (m_model
->m_items
.count() != m_model
->m_indexesForItems
.count()) {
94 for (int i
= 0; i
< m_model
->count(); ++i
) {
95 const KStandardItem
* item
= m_model
->item(i
);
97 qCWarning(DolphinDebug
) << "Item" << i
<< "is null";
101 const int itemIndex
= m_model
->index(item
);
102 if (itemIndex
!= i
) {
103 qCWarning(DolphinDebug
) << "Item" << i
<< "has a wrong index:" << itemIndex
;
111 QTEST_GUILESS_MAIN(KStandardItemModelTest
)
113 #include "kstandarditemmodeltest.moc"