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"