1 /*
2     SPDX-FileCopyrightText: 2015-2021 Laurent Montel <montel@kde.org>
3 
4     SPDX-License-Identifier: LGPL-2.0-or-later
5 
6 */
7 
8 #include "customdebugsettingspagetest.h"
9 #include "customdebugsettingspage.h"
10 #include <KListWidgetSearchLine>
11 #include <QLabel>
12 #include <QListWidget>
13 #include <QPushButton>
14 #include <QTest>
15 
CustomDebugSettingsPageTest(QObject * parent)16 CustomDebugSettingsPageTest::CustomDebugSettingsPageTest(QObject *parent)
17     : QObject(parent)
18 {
19 }
20 
~CustomDebugSettingsPageTest()21 CustomDebugSettingsPageTest::~CustomDebugSettingsPageTest()
22 {
23 }
24 
shouldHaveDefaultValue()25 void CustomDebugSettingsPageTest::shouldHaveDefaultValue()
26 {
27     CustomDebugSettingsPage page;
28 
29     auto lab = page.findChild<QLabel *>(QStringLiteral("custom_label"));
30     QVERIFY(lab);
31 
32     auto listWidget = page.findChild<QListWidget *>(QStringLiteral("custom_listwidget"));
33     QVERIFY(listWidget);
34     QCOMPARE(listWidget->selectionMode(), QAbstractItemView::ExtendedSelection);
35     QCOMPARE(listWidget->count(), 0);
36     QCOMPARE(listWidget->contextMenuPolicy(), Qt::CustomContextMenu);
37 
38     auto searchLine = page.findChild<KListWidgetSearchLine *>(QStringLiteral("searchline"));
39     QVERIFY(searchLine);
40     QVERIFY(!searchLine->placeholderText().isEmpty());
41     QCOMPARE(searchLine->listWidget(), listWidget);
42 
43     auto addButton = page.findChild<QPushButton *>(QStringLiteral("add_rule"));
44     QVERIFY(addButton);
45     QVERIFY(addButton->isEnabled());
46 
47     auto editButton = page.findChild<QPushButton *>(QStringLiteral("edit_rule"));
48     QVERIFY(editButton);
49     QVERIFY(!editButton->isEnabled());
50 
51     auto removeButton = page.findChild<QPushButton *>(QStringLiteral("remove_rule"));
52     QVERIFY(removeButton);
53     QVERIFY(!removeButton->isEnabled());
54 }
55 
56 QTEST_MAIN(CustomDebugSettingsPageTest)
57