1
/* This file is part of the KDE project
2
Copyright (C) 2012-2013 Jarosław Staniek <staniek@kde.org>
4
This program is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Library General Public
6
License as published by the Free Software Foundation; either
7
version 2 of the License, or (at your option) any later version.
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
Library General Public License for more details.
14
You should have received a copy of the GNU Library General Public License
15
along with this program; see the file COPYING. If not, write to
16
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17
* Boston, MA 02110-1301, USA.
24
#include <kexiutils/kexiutils_export.h>
25
#include <config-kexi.h>
30
//! Global object for setting up tests.
31
class KEXIUTILS_EXPORT KexiTester : public QObject
37
QObject *object(const QString &name) const;
39
QWidget *widget(const QString &name) const;
42
W widget(const QString &name) const { return qobject_cast<W>(widget(name)); }
51
Q_DISABLE_COPY(KexiTester)
54
//! KexiTestObject is a container for object added for tests
55
class KEXIUTILS_EXPORT KexiTestObject
58
explicit KexiTestObject(QObject *object, const QString &name = QString());
60
QPointer<QObject> m_object;
63
friend KEXIUTILS_EXPORT KexiTester& operator<<(KexiTester&, const KexiTestObject &);
66
//! @return global KexiTester object.
67
KEXIUTILS_EXPORT KexiTester& kexiTester();
69
//! Adds test object @a object to the tester.
70
KEXIUTILS_EXPORT KexiTester& operator<<(KexiTester& tester, const KexiTestObject &object);
72
#ifndef COMPILING_TESTS
73
#define kexiTester while (false) kexiTester // Completely skip tester for final code
76
#endif // KEXITESTER_H