1 /*
2 * SPDX-FileCopyrightText: 2021 Waqar Ahmed <waqar.17a@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 #include "kmultitabbartest.h"
7
8 #include <QSignalSpy>
9 #include <QTest>
10
11 #include <KMultiTabBar>
12
KMultiTabBarTest(QObject * parent)13 KMultiTabBarTest::KMultiTabBarTest(QObject *parent)
14 : QObject(parent)
15 {
16 }
17
testTabsAppendAndRemove()18 void KMultiTabBarTest::testTabsAppendAndRemove()
19 {
20 KMultiTabBar tb;
21
22 int id1 = 1;
23 int id2 = 2;
24
25 tb.appendTab(QIcon(), id1);
26 tb.appendTab(QIcon(), id2);
27
28 // verify that tabs were appended
29 QVERIFY(tb.tab(id1));
30 QVERIFY(tb.tab(id2));
31
32 tb.removeTab(id1);
33 tb.removeTab(id2);
34
35 // verify that tabs were removed
36 QVERIFY(!tb.tab(id1));
37 QVERIFY(!tb.tab(id2));
38 }
39
testTabStyleChanged()40 void KMultiTabBarTest::testTabStyleChanged()
41 {
42 KMultiTabBar tb;
43 QCOMPARE(tb.tabStyle(), KMultiTabBar::VSNET);
44
45 tb.setStyle(KMultiTabBar::KDEV3ICON);
46 QCOMPARE(tb.tabStyle(), KMultiTabBar::KDEV3ICON);
47 }
48
testTabRaised()49 void KMultiTabBarTest::testTabRaised()
50 {
51 KMultiTabBar tb;
52
53 tb.appendTab(QIcon(), /*id : */ 1);
54 tb.appendTab(QIcon(), /*id : */ 2);
55
56 // set id = 1 as active tab
57 tb.setTab(1, true);
58
59 QVERIFY(tb.isTabRaised(1));
60 QVERIFY(tb.tab(1)->isChecked());
61 QVERIFY(!tb.isTabRaised(2));
62 }
63
shouldEmitClicked()64 void KMultiTabBarTest::shouldEmitClicked()
65 {
66 KMultiTabBar tb;
67 int id1 = 1;
68 tb.appendTab(QIcon(), id1);
69 KMultiTabBarTab *tab = tb.tab(id1);
70 QVERIFY(tab);
71
72 QSignalSpy spy(tab, &KMultiTabBarTab::clicked);
73
74 QTest::mouseClick(tab, Qt::LeftButton);
75
76 QCOMPARE(spy.count(), 1);
77 }
78
79 QTEST_MAIN(KMultiTabBarTest)
80