diff options
Diffstat (limited to 'kunittest/module.h')
-rw-r--r-- | kunittest/module.h | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/kunittest/module.h b/kunittest/module.h deleted file mode 100644 index 7f4b24789..000000000 --- a/kunittest/module.h +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright (C) 2005 Jeroen Wijnhout <Jeroen.Wijnhout@kdemail.net> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -/*! - * @file module.h - * Provides macros to ease building unit tests as shared libraries - */ - -#ifndef KUNITTEST_MODULE_H -#define KUNITTEST_MODULE_H - -#include <tqstring.h> - -#include <klibloader.h> -#include <kunittest/runner.h> - -namespace KUnitTest -{ - /*! @def KUNITTEST_MODULE(library,suite) - * Use this macro if you are creating a KUnitTest module named library. - * This macro creates a module-class named a factory class. The module - * will appear under the name suite in the test runner. - * There is no need in calling the K_EXPORT_COMPONENT_FACTORY macro, - * this is taken care of automatically. - * - * @code KUNITTEST_MODULE(kunittest_samplemodule,"TestSuite") @endcode - */ - #define KUNITTEST_MODULE(library,suite) \ - static const TQString s_kunittest_suite = TQString::fromLatin1(suite); \ - class library##Module : public TQObject \ - { \ - public: \ - library##Module() \ - { \ - KUnitTest::RegistryIteratorType it(s_registry); \ - for( ; it.current(); ++it ) \ - KUnitTest::Runner::registerTester(it.currentKey(), it.current()); \ - } \ - \ - static KUnitTest::RegistryType s_registry; \ - }; \ - \ - KUnitTest::RegistryType library##Module::s_registry; \ - \ - void kunittest_registerModuleTester(const char *name, KUnitTest::Tester *test) \ - { \ - library##Module::s_registry.insert(name, test); \ - } \ - \ - class module##Factory : public KLibFactory \ - { \ - public: \ - TQObject *createObject (TQObject *, const char *, const char *, const TQStringList &) \ - { \ - return new library##Module(); \ - }; \ - }; \ - \ - K_EXPORT_COMPONENT_FACTORY( library, module##Factory ) - - /*! @def KUNITTEST_MODULE_REGISTER_TESTER(tester) - * Use this macro to add a tester class to your module. The name of the tester will - * be identical to the class name. - * - * @code KUNITTEST_MODULE_REGISTER_TESTER(SimpleSampleTester) @endcode - */ - #define KUNITTEST_MODULE_REGISTER_TESTER( tester) \ - static class tester##ModuleAutoregister \ - { \ - public: \ - tester##ModuleAutoregister() \ - { \ - KUnitTest::Tester *test = new tester(); \ - TQString name = s_kunittest_suite + TQString::fromLatin1("::") + TQString::fromLocal8Bit(#tester); \ - test->setName(name.local8Bit()); \ - kunittest_registerModuleTester(name.local8Bit(), test ); \ - } \ - } tester##ModuleAutoregisterInstance; - - /*! @def KUNITTEST_MODULE_REGISTER_NAMEDTESTER(name,tester) - * Use this macro to add a tester class, with specified name, to your module.. - * - * @code KUNITTEST_MODULE_REGISTER_TESTER("SubSuite::PrettyName",SimpleSampleTester) @endcode - */ - #define KUNITTEST_MODULE_REGISTER_NAMEDTESTER( name , tester) \ - static class tester##ModuleAutoregister \ - { \ - public: \ - tester##ModuleAutoregister() \ - { \ - TQString fullName = s_kunittest_suite + TQString("::") + TQString::fromLocal8Bit(name); \ - KUnitTest::Tester *test = new tester(fullName.local8Bit()); \ - kunittest_registerModuleTester(fullName.local8Bit(), test); \ - } \ - } tester##ModuleAutoregisterInstance; -} - -#endif |