summaryrefslogtreecommitdiff
path: root/src/tests/tabbar_test.cpp
blob: 08f295d1bc2af891bac8ede9cc4762ac488c3327 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/*
 * Copyright 2008 Benjamin C. Meyer <ben@meyerhome.net>
 * Copyright 2008 Andrea Diamantini <adjam7@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA  02110-1301  USA
 */

#include <qtest_kde.h>

#include <QtTest>
#include <QtCore>
#include <QtGui>

#include "../tabbar.h"


class TabBarTest : public QObject
{
    Q_OBJECT

public slots:
    void initTestCase();
    void cleanupTestCase();
    void init();
    void cleanup();

private slots:
    void tabbar_data();
    void tabbar();

    void tabSizeHint_data();
    void tabSizeHint();
};


// Subclass that exposes the protected functions.
class SubTabBar : public TabBar
{
public:
    void call_cloneTab(int index)
        { return SubTabBar::cloneTab(index); }

    void call_closeOtherTabs(int index)
        { return SubTabBar::closeOtherTabs(index); }

    void call_closeTab(int index)
        { return SubTabBar::closeTab(index); }

    void call_mouseMoveEvent(QMouseEvent* event)
        { return SubTabBar::mouseMoveEvent(event); }

    void call_mousePressEvent(QMouseEvent* event)
        { return SubTabBar::mousePressEvent(event); }

    void call_reloadAllTabs()
        { return SubTabBar::reloadAllTabs(); }

    void call_reloadTab(int index)
        { return SubTabBar::reloadTab(index); }

    QSize call_tabSizeHint(int index) const
        { return SubTabBar::tabSizeHint(index); }

    void call_showTabPreview(int tab)
        { return SubTabBar::showTabPreview(tab); }
};


// This will be called before the first test function is executed.
// It is only called once.
void TabBarTest::initTestCase()
{
}


// This will be called after the last test function is executed.
// It is only called once.
void TabBarTest::cleanupTestCase()
{
}


// This will be called before each test function is executed.
void TabBarTest::init()
{
}


// This will be called after every test function.
void TabBarTest::cleanup()
{
}

// -------------------------------------------

void TabBarTest::tabbar_data()
{
}


void TabBarTest::tabbar()
{
    SubTabBar widget;
}

// -------------------------------------------

void TabBarTest::tabSizeHint_data()
{
//     QTest::addColumn<int>("index");
//     QTest::newRow("0") << 0;
}


// protected QSize tabSizeHint(int index) const
void TabBarTest::tabSizeHint()
{
    // Need fixes as our function uses MainView methods to determine size
//     QFETCH(int, index);
//     SubTabBar bar;
//     QVERIFY(bar.call_tabSizeHint(index).width() <= 250);
}
    
// -------------------------------------------

QTEST_KDEMAIN(TabBarTest, GUI)
#include "tabbar_test.moc"