File indexing completed on 2024-06-16 05:00:37
0001 /* 0002 SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "selectiontypetreewidgettest.h" 0008 #include "../widgets/selectiontypetreewidget.h" 0009 #include <QFile> 0010 #include <QStandardPaths> 0011 #include <QTest> 0012 // #define SHOW_WIDGET 0013 SelectionTypeTreeWidgetTest::SelectionTypeTreeWidgetTest(QObject *parent) 0014 : QObject(parent) 0015 { 0016 QStandardPaths::setTestModeEnabled(true); 0017 } 0018 0019 SelectionTypeTreeWidgetTest::~SelectionTypeTreeWidgetTest() = default; 0020 0021 void SelectionTypeTreeWidgetTest::shouldHaveDefaultSelectedWidget() 0022 { 0023 SelectionTypeTreeWidget w(true); 0024 QVERIFY(w.topLevelItemCount() != 0); 0025 } 0026 0027 void SelectionTypeTreeWidgetTest::shouldLoadTemplate_data() 0028 { 0029 QTest::addColumn<QString>("filename"); 0030 QTest::addColumn<int>("topLevelItems"); 0031 QTest::newRow("selectedtypemodel1.xml") << QStringLiteral("selectedtypemodel1.xml") << 3; // because blogilo is not supported anymore 0032 QTest::newRow("selectedtypemodel2.xml") << QStringLiteral("selectedtypemodel2.xml") << 1; 0033 } 0034 0035 void checkState(SelectionTypeTreeWidget *mSelectionTreeWidget, bool checked) 0036 { 0037 for (int i = 0; i < mSelectionTreeWidget->topLevelItemCount(); i++) { 0038 QTreeWidgetItem *item = mSelectionTreeWidget->topLevelItem(i); 0039 bool isChecked = item->checkState(0); 0040 QCOMPARE(isChecked, checked); 0041 for (int j = 0; j < item->childCount(); j++) { 0042 bool childIsChecked = item->child(j)->checkState(0); 0043 QCOMPARE(childIsChecked, checked); 0044 } 0045 } 0046 } 0047 0048 void SelectionTypeTreeWidgetTest::shouldLoadTemplate() 0049 { 0050 QFETCH(QString, filename); 0051 QFETCH(int, topLevelItems); 0052 0053 QString fileNameFullPath = QLatin1StringView(PIMDATAEXPORTER_DATA_DIR) + QLatin1StringView("/") + filename; 0054 QFile f(fileNameFullPath); 0055 QVERIFY(f.exists()); 0056 SelectionTypeTreeWidget w(true); 0057 qDebug() << " filename" << fileNameFullPath; 0058 w.loadTemplate(fileNameFullPath); 0059 w.removeNotSelectedItems(); 0060 #ifdef SHOW_WIDGET 0061 w.show(); 0062 QTest::qWait(5000); 0063 #endif 0064 checkState(&w, true); 0065 QCOMPARE(w.topLevelItemCount(), topLevelItems); 0066 } 0067 0068 QTEST_MAIN(SelectionTypeTreeWidgetTest) 0069 0070 #include "moc_selectiontypetreewidgettest.cpp"