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.
KDE 4.3 API Reference