1
/****************************************************************************
2
**
3
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
4
** All rights reserved.
5
** Contact: Nokia Corporation (qt-info@nokia.com)
6
**
7
** This file is part of the test suite of the Qt Toolkit.
8
**
9
** $QT_BEGIN_LICENSE:LGPL$
10
** GNU Lesser General Public License Usage
11
** This file may be used under the terms of the GNU Lesser General Public
12
** License version 2.1 as published by the Free Software Foundation and
13
** appearing in the file LICENSE.LGPL included in the packaging of this
14
** file. Please review the following information to ensure the GNU Lesser
15
** General Public License version 2.1 requirements will be met:
16
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
17
**
18
** In addition, as a special exception, Nokia gives you certain additional
19
** rights. These rights are described in the Nokia Qt LGPL Exception
20
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
21
**
22
** GNU General Public License Usage
23
** Alternatively, this file may be used under the terms of the GNU General
24
** Public License version 3.0 as published by the Free Software Foundation
25
** and appearing in the file LICENSE.GPL included in the packaging of this
26
** file. Please review the following information to ensure the GNU General
27
** Public License version 3.0 requirements will be met:
28
** http://www.gnu.org/copyleft/gpl.html.
29
**
30
** Other Usage
31
** Alternatively, this file may be used in accordance with the terms and
32
** conditions contained in a signed written agreement between you and Nokia.
33
**
34
**
35
**
36
**
37
**
38
** $QT_END_LICENSE$
39
**
40
****************************************************************************/
41
42
43
#include <QtTest/QtTest>
44
45
#include <qapplication.h>
46
#include <qdebug.h>
47
#include <q3tabdialog.h>
48
#include <qtabbar.h>
49
50
//TESTED_CLASS=
51
//TESTED_FILES=
52
53
class tst_Q3TabDialog : public QObject
54
{
55
Q_OBJECT
56
57
public:
58
    tst_Q3TabDialog();
59
    virtual ~tst_Q3TabDialog();
60
61
private slots:
62
    void getSetCheck();
63
    void task245918_show();
64
};
65
66
tst_Q3TabDialog::tst_Q3TabDialog()
67
{
68
}
69
70
tst_Q3TabDialog::~tst_Q3TabDialog()
71
{
72
}
73
74
class My3TabDialog : public Q3TabDialog
75
{
76
public:
77
    My3TabDialog() : Q3TabDialog() {}
78
    void setTabBar(QTabBar* bar) { Q3TabDialog::setTabBar(bar); }
79
    QTabBar* tabBar() const { return Q3TabDialog::tabBar(); }
80
};
81
82
// Testing get/set functions
83
void tst_Q3TabDialog::getSetCheck()
84
{
85
    My3TabDialog obj1;
86
    // QTabBar* Q3TabDialog::tabBar()
87
    // void Q3TabDialog::setTabBar(QTabBar*)
88
    QTabBar *var1 = new QTabBar;
89
    obj1.setTabBar(var1);
90
    QCOMPARE(var1, obj1.tabBar());
91
92
    QTabBar * const oldTabBar = obj1.tabBar();
93
    obj1.setTabBar((QTabBar *)0);
94
    QCOMPARE(obj1.tabBar(), oldTabBar);
95
96
    delete var1;
97
}
98
99
class task245918_Dialog : public Q3TabDialog
100
{
101
    Q_OBJECT
102
public:
103
    task245918_Dialog()
104
    {
105
        QTimer::singleShot(100, this, SLOT(closeWhenVisible()));
106
    }
107
108
 private slots:
109
    void closeWhenVisible()
110
    {
111
        if (isVisible())
112
            accept();
113
        else
114
            QTimer::singleShot(100, this, SLOT(closeWhenVisible()));
115
    }
116
};
117
118
void tst_Q3TabDialog::task245918_show()
119
{
120
    task245918_Dialog dialog;
121
    QSignalSpy spy(&dialog, SIGNAL(aboutToShow()));
122
    dialog.exec();
123
    QCOMPARE(spy.count(), 1);
124
}
125
126
QTEST_MAIN(tst_Q3TabDialog)
127
#include "tst_q3tabdialog.moc"