1 /*
2     SPDX-FileCopyrightText: 2014 Laurent Montel <montel@kde.org>
3 
4     SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "kpagedialogautotest.h"
8 #include <kpagedialog.h>
9 
10 #include <QDialogButtonBox>
11 #include <QPushButton>
12 #include <QTest>
13 
QTEST_MAIN(KPageDialogAutoTest)14 QTEST_MAIN(KPageDialogAutoTest)
15 
16 KPageDialogAutoTest::KPageDialogAutoTest()
17 {
18 }
19 
shouldHaveDefaultValuesOnCreation()20 void KPageDialogAutoTest::shouldHaveDefaultValuesOnCreation()
21 {
22     KPageDialog page;
23     QDialogButtonBox *dialogbuttonbox = page.findChild<QDialogButtonBox *>(QStringLiteral("buttonbox"));
24     QVERIFY(dialogbuttonbox);
25     QDialogButtonBox::StandardButtons standardButton = dialogbuttonbox->standardButtons();
26     QDialogButtonBox::StandardButtons defaultButton = QDialogButtonBox::Ok | QDialogButtonBox::Cancel;
27     QCOMPARE(standardButton, defaultButton);
28 }
29 
shouldAddAnActionButton()30 void KPageDialogAutoTest::shouldAddAnActionButton()
31 {
32     KPageDialog page;
33     QDialogButtonBox *dialogbuttonbox = page.findChild<QDialogButtonBox *>(QStringLiteral("buttonbox"));
34     QPushButton *actionButton = new QPushButton(QStringLiteral("Action1"));
35     page.addActionButton(actionButton);
36     QCOMPARE(dialogbuttonbox->buttons().count(), 3);
37     QVERIFY(dialogbuttonbox->buttons().contains(actionButton));
38 }
39 
shouldAddTwoActionButton()40 void KPageDialogAutoTest::shouldAddTwoActionButton()
41 {
42     KPageDialog page;
43     QDialogButtonBox *dialogbuttonbox = page.findChild<QDialogButtonBox *>(QStringLiteral("buttonbox"));
44     QPushButton *actionButton = new QPushButton(QStringLiteral("Action1"));
45     page.addActionButton(actionButton);
46 
47     QPushButton *actionButton2 = new QPushButton(QStringLiteral("Action2"));
48     page.addActionButton(actionButton2);
49 
50     QCOMPARE(dialogbuttonbox->buttons().count(), 4);
51 }
52 
shouldNotAddTwoSameActionButton()53 void KPageDialogAutoTest::shouldNotAddTwoSameActionButton()
54 {
55     KPageDialog page;
56     QDialogButtonBox *dialogbuttonbox = page.findChild<QDialogButtonBox *>(QStringLiteral("buttonbox"));
57     QPushButton *actionButton = new QPushButton(QStringLiteral("Action1"));
58     page.addActionButton(actionButton);
59 
60     page.addActionButton(actionButton);
61     QCOMPARE(dialogbuttonbox->buttons().count(), 3);
62 }
63