File indexing completed on 2024-05-05 16:07:08
0001 /* 0002 SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez <aleixpol@blue-systems.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #include "columnproxymodeltest.h" 0008 #include "../src/qmlcontrols/kquickcontrolsaddons/columnproxymodel.h" 0009 #include <QAbstractItemModelTester> 0010 #include <QSignalSpy> 0011 #include <QStandardItemModel> 0012 #include <QTest> 0013 0014 QTEST_MAIN(ColumnProxyModelTest) 0015 0016 void ColumnProxyModelTest::testInit() 0017 { 0018 qRegisterMetaType<QModelIndex>("QModelIndex"); 0019 0020 ColumnProxyModel *listify = new ColumnProxyModel; 0021 QSignalSpy spy(listify, &QAbstractItemModel::rowsInserted); 0022 0023 new QAbstractItemModelTester(listify, listify); 0024 QStandardItemModel *m = new QStandardItemModel(listify); 0025 listify->setRootIndex(QModelIndex()); 0026 listify->setSourceModel(m); 0027 m->appendRow(new QStandardItem(QStringLiteral("lalalal"))); 0028 m->appendRow(new QStandardItem(QStringLiteral("lalalal"))); 0029 m->appendRow(new QStandardItem(QStringLiteral("lalalal"))); 0030 m->appendRow(new QStandardItem(QStringLiteral("lalalal"))); 0031 QStandardItem *item = new QStandardItem(QStringLiteral("lalalal")); 0032 item->appendRow(new QStandardItem(QStringLiteral("lelele"))); 0033 item->appendRow(new QStandardItem(QStringLiteral("lelele"))); 0034 m->appendRow(item); 0035 item->appendRow(new QStandardItem(QStringLiteral("lelele"))); 0036 0037 QCOMPARE(listify->rowCount(), 5); 0038 QCOMPARE(spy.count(), 5); 0039 0040 ColumnProxyModel *listifyB = new ColumnProxyModel; 0041 new QAbstractItemModelTester(listifyB, listifyB); 0042 listifyB->setSourceModel(m); 0043 QCOMPARE(listifyB->rowCount(), 5); 0044 0045 ColumnProxyModel *listifyC = new ColumnProxyModel; 0046 new QAbstractItemModelTester(listifyC, listifyC); 0047 listifyC->setRootIndex(item->index()); 0048 QCOMPARE(listifyC->rowCount(), 3); 0049 0050 delete listify; 0051 delete listifyB; 0052 delete listifyC; 0053 } 0054 0055 void ColumnProxyModelTest::testSet() 0056 { 0057 ColumnProxyModel listify; 0058 QSignalSpy spy(&listify, &QAbstractItemModel::rowsInserted); 0059 0060 new QAbstractItemModelTester(&listify, &listify); 0061 QStandardItemModel *m = new QStandardItemModel(&listify); 0062 listify.setRootIndex(QModelIndex()); 0063 listify.setSourceModel(m); 0064 m->appendRow(new QStandardItem(QStringLiteral("lalalal"))); 0065 m->appendRow(new QStandardItem(QStringLiteral("lalalal"))); 0066 m->appendRow(new QStandardItem(QStringLiteral("lalalal"))); 0067 m->appendRow(new QStandardItem(QStringLiteral("lalalal"))); 0068 QStandardItem *item = new QStandardItem(QStringLiteral("lalalal")); 0069 item->appendRow(new QStandardItem(QStringLiteral("lelele"))); 0070 item->appendRow(new QStandardItem(QStringLiteral("lelele"))); 0071 m->appendRow(item); 0072 item->appendRow(new QStandardItem(QStringLiteral("lelele"))); 0073 0074 const QString newString = QStringLiteral("fu"); 0075 QModelIndex changeIndex = listify.indexAt(0); 0076 listify.setData(changeIndex, QVariant::fromValue(newString), Qt::DisplayRole); 0077 QCOMPARE(changeIndex.data(Qt::DisplayRole).toString(), newString); 0078 } 0079 0080 #include "moc_columnproxymodeltest.cpp"