KDECore
qtest_kde.h File Reference
#include <QtTest/QtTest>
#include <stdlib.h>
#include <assert.h>
#include <kaboutdata.h>
#include <kcmdlineargs.h>
#include <kcomponentdata.h>
#include <kglobal.h>
#include <kurl.h>
#include <QtGui/QApplication>
#include <QtCore/QEventLoop>
#include <QtTest/QSignalSpy>
Go to the source code of this file.
Namespaces | |
namespace | QTest |
Defines | |
#define | QTEST_KDEMAIN(TestObject, flags) QTEST_KDEMAIN_WITH_COMPONENTNAME(TestObject, flags, "qttest") |
#define | QTEST_KDEMAIN_CORE(TestObject) QTEST_KDEMAIN_CORE_WITH_COMPONENTNAME(TestObject, "qttest") |
#define | QTEST_KDEMAIN_CORE_WITH_COMPONENTNAME(TestObject, componentName) |
#define | QTEST_KDEMAIN_WITH_COMPONENTNAME(TestObject, flags, componentName) |
Enumerations | |
enum | KDEMainFlag { NoGUI = 0, GUI = 1 } |
Functions | |
bool | QTest::kWaitForSignal (QObject *obj, const char *signal, int timeout=0) |
Define Documentation
#define QTEST_KDEMAIN | ( | TestObject, | |||
flags | ) | QTEST_KDEMAIN_WITH_COMPONENTNAME(TestObject, flags, "qttest") |
KDE Replacement for QTEST_MAIN from QTestLib.
This macro should be used for classes that need a KComponentData. So instead of writing QTEST_MAIN( TestClass ) you write QTEST_KDEMAIN( TestClass, GUI ).
- Parameters:
-
TestObject The class you use for testing. flags one of KDEMainFlag. This is passed to the QApplication constructor.
- See also:
- KDEMainFlag
- QTestLib
Definition at line 102 of file qtest_kde.h.
#define QTEST_KDEMAIN_CORE | ( | TestObject | ) | QTEST_KDEMAIN_CORE_WITH_COMPONENTNAME(TestObject, "qttest") |
KDE Replacement for QTEST_MAIN from QTestLib, for non-gui code.
This macro should be used for classes that need a KComponentData. So instead of writing QTEST_MAIN( TestClass ) you write QTEST_KDEMAIN_CORE( TestClass ).
- Parameters:
-
TestObject The class you use for testing.
- See also:
- KDEMainFlag
- QTestLib
Definition at line 151 of file qtest_kde.h.
#define QTEST_KDEMAIN_CORE_WITH_COMPONENTNAME | ( | TestObject, | |||
componentName | ) |
int main(int argc, char *argv[]) \ { \ setenv("LC_ALL", "C", 1); \ assert( !QDir::homePath().isEmpty() ); \ setenv("KDEHOME", QFile::encodeName( QDir::homePath() + "/.kde-unit-test" ), 1); \ setenv("XDG_DATA_HOME", QFile::encodeName( QDir::homePath() + "/.kde-unit-test/xdg/local" ), 1); \ setenv("XDG_CONFIG_HOME", QFile::encodeName( QDir::homePath() + "/.kde-unit-test/xdg/config" ), 1); \ setenv("KDE_SKIP_KDERC", "1", 1); \ unsetenv("KDE_COLOR_DEBUG"); \ QFile::remove(QDir::homePath() + "/.kde-unit-test/share/config/qttestrc"); \ KAboutData aboutData( QByteArray(componentName), QByteArray(), ki18n("KDE Test Program"), QByteArray("version") ); \ KComponentData cData(&aboutData); \ QCoreApplication app( argc, argv ); \ app.setApplicationName( "qttest" ); \ qRegisterMetaType<KUrl>(); /*as done by kapplication*/ \ qRegisterMetaType<KUrl::List>(); \ TestObject tc; \ KGlobal::ref(); /* don't quit qeventloop after closing a mainwindow */ \ return QTest::qExec( &tc, argc, argv ); \ }
KDE Replacement for QTEST_MAIN from QTestLib, for non-gui code.
This macro should be used for classes that need a KComponentData. So instead of writing QTEST_MAIN( TestClass ) you write QTEST_KDEMAIN_CORE( TestClass ).
- Parameters:
-
TestObject The class you use for testing.
- See also:
- KDEMainFlag
- QTestLib
- Since:
- 4.3
Definition at line 117 of file qtest_kde.h.
#define QTEST_KDEMAIN_WITH_COMPONENTNAME | ( | TestObject, | |||
flags, | |||||
componentName | ) |
int main(int argc, char *argv[]) \ { \ setenv("LC_ALL", "C", 1); \ assert( !QDir::homePath().isEmpty() ); \ setenv("KDEHOME", QFile::encodeName( QDir::homePath() + QLatin1String("/.kde-unit-test") ), 1); \ setenv("XDG_DATA_HOME", QFile::encodeName( QDir::homePath() + QLatin1String("/.kde-unit-test/xdg/local") ), 1); \ setenv("XDG_CONFIG_HOME", QFile::encodeName( QDir::homePath() + QLatin1String("/.kde-unit-test/xdg/config") ), 1); \ setenv("KDE_SKIP_KDERC", "1", 1); \ unsetenv("KDE_COLOR_DEBUG"); \ QFile::remove(QDir::homePath() + QLatin1String("/.kde-unit-test/share/config/qttestrc")); \ KAboutData aboutData( QByteArray(componentName), QByteArray(), ki18n("KDE Test Program"), QByteArray("version") ); \ KDEMainFlags mainFlags = flags; \ KComponentData cData(&aboutData); \ QApplication app( argc, argv, (mainFlags & GUI) != 0 ); \ app.setApplicationName( QLatin1String("qttest") ); \ qRegisterMetaType<KUrl>(); /*as done by kapplication*/ \ qRegisterMetaType<KUrl::List>(); \ TestObject tc; \ KGlobal::ref(); /* don't quit qeventloop after closing a mainwindow */ \ return QTest::qExec( &tc, argc, argv ); \ }
QTEST_KDEMAIN variant with additional argument for the main component name.
This variant is useful for testing application classes which rely on the main component having a specific name (for instance to find xmlgui .rc files).
This variant should not be needed in kdelibs's own unit tests.
- Parameters:
-
TestObject The class you use for testing. flags one of KDEMainFlag. This is passed to the QApplication constructor. componentName the name that will be given to the main component data.
- See also:
- KDEMainFlag
- QTestLib
Definition at line 66 of file qtest_kde.h.
Enumeration Type Documentation
enum KDEMainFlag |
Definition at line 48 of file qtest_kde.h.