File indexing completed on 2024-04-28 15:31:52

0001 /*
0002  *  SPDX-FileCopyrightText: 2021 Waqar Ahmed <waqar.17a@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 #include "kmultitabbartest.h"
0007 
0008 #include <QSignalSpy>
0009 #include <QTest>
0010 
0011 #include <KMultiTabBar>
0012 
0013 KMultiTabBarTest::KMultiTabBarTest(QObject *parent)
0014     : QObject(parent)
0015 {
0016 }
0017 
0018 void KMultiTabBarTest::testTabsAppendAndRemove()
0019 {
0020     KMultiTabBar tb;
0021 
0022     int id1 = 1;
0023     int id2 = 2;
0024 
0025     tb.appendTab(QIcon(), id1);
0026     tb.appendTab(QIcon(), id2);
0027 
0028     // verify that tabs were appended
0029     QVERIFY(tb.tab(id1));
0030     QVERIFY(tb.tab(id2));
0031 
0032     tb.removeTab(id1);
0033     tb.removeTab(id2);
0034 
0035     // verify that tabs were removed
0036     QVERIFY(!tb.tab(id1));
0037     QVERIFY(!tb.tab(id2));
0038 }
0039 
0040 void KMultiTabBarTest::testTabStyleChanged()
0041 {
0042     KMultiTabBar tb;
0043     QCOMPARE(tb.tabStyle(), KMultiTabBar::VSNET);
0044 
0045     tb.setStyle(KMultiTabBar::KDEV3ICON);
0046     QCOMPARE(tb.tabStyle(), KMultiTabBar::KDEV3ICON);
0047 }
0048 
0049 void KMultiTabBarTest::testTabRaised()
0050 {
0051     KMultiTabBar tb;
0052 
0053     tb.appendTab(QIcon(), /*id : */ 1);
0054     tb.appendTab(QIcon(), /*id : */ 2);
0055 
0056     // set id = 1 as active tab
0057     tb.setTab(1, true);
0058 
0059     QVERIFY(tb.isTabRaised(1));
0060     QVERIFY(tb.tab(1)->isChecked());
0061     QVERIFY(!tb.isTabRaised(2));
0062 }
0063 
0064 void KMultiTabBarTest::shouldEmitClicked()
0065 {
0066     KMultiTabBar tb;
0067     int id1 = 1;
0068     tb.appendTab(QIcon(), id1);
0069     KMultiTabBarTab *tab = tb.tab(id1);
0070     QVERIFY(tab);
0071 
0072     QSignalSpy spy(tab, &KMultiTabBarTab::clicked);
0073 
0074     QTest::mouseClick(tab, Qt::LeftButton);
0075 
0076     QCOMPARE(spy.count(), 1);
0077 }
0078 
0079 QTEST_MAIN(KMultiTabBarTest)
0080 
0081 #include "moc_kmultitabbartest.cpp"