diff options
| author | Remko Tronçon <git@el-tramo.be> | 2010-03-28 15:46:49 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2010-03-28 15:46:49 (GMT) | 
| commit | f53a1ef582494458301b97bf6e546be52d7ff7e8 (patch) | |
| tree | 7571b5cbcbd8a8f1dd1c966c9045b6cb69f0e295 /3rdParty/CppUnit/src/include/cppunit/extensions/TestNamer.h | |
| parent | 638345680d72ca6acaf123f2c8c1c391f696e371 (diff) | |
| download | swift-f53a1ef582494458301b97bf6e546be52d7ff7e8.zip swift-f53a1ef582494458301b97bf6e546be52d7ff7e8.tar.bz2  | |
Moving submodule contents back.
Diffstat (limited to '3rdParty/CppUnit/src/include/cppunit/extensions/TestNamer.h')
| -rw-r--r-- | 3rdParty/CppUnit/src/include/cppunit/extensions/TestNamer.h | 89 | 
1 files changed, 89 insertions, 0 deletions
diff --git a/3rdParty/CppUnit/src/include/cppunit/extensions/TestNamer.h b/3rdParty/CppUnit/src/include/cppunit/extensions/TestNamer.h new file mode 100644 index 0000000..5a6471c --- /dev/null +++ b/3rdParty/CppUnit/src/include/cppunit/extensions/TestNamer.h @@ -0,0 +1,89 @@ +#ifndef CPPUNIT_EXTENSIONS_TESTNAMER_H +#define CPPUNIT_EXTENSIONS_TESTNAMER_H + +#include <cppunit/Portability.h> +#include <string> + +#if CPPUNIT_HAVE_RTTI +#  include <typeinfo> +#endif + + + +/*! \def CPPUNIT_TESTNAMER_DECL( variableName, FixtureType ) + * \brief Declares a TestNamer. + * + * Declares a TestNamer for the specified type, using RTTI if enabled, otherwise + * using macro string expansion. + * + * RTTI is used if CPPUNIT_USE_TYPEINFO_NAME is defined and not null. + * + * \code + * void someMethod()  + * { + *   CPPUNIT_TESTNAMER_DECL( namer, AFixtureType ); + *   std::string fixtureName = namer.getFixtureName(); + *   ... + * \endcode + * + * \relates TestNamer + * \see TestNamer + */ +#if CPPUNIT_USE_TYPEINFO_NAME +#  define CPPUNIT_TESTNAMER_DECL( variableName, FixtureType )       \ +              CPPUNIT_NS::TestNamer variableName( typeid(FixtureType) ) +#else +#  define CPPUNIT_TESTNAMER_DECL( variableName, FixtureType )       \ +              CPPUNIT_NS::TestNamer variableName( std::string(#FixtureType) ) +#endif + + + +CPPUNIT_NS_BEGIN + + +/*! \brief Names a test or a fixture suite. + * + * TestNamer is usually instantiated using CPPUNIT_TESTNAMER_DECL. + * + */ +class CPPUNIT_API TestNamer +{ +public: +#if CPPUNIT_HAVE_RTTI +  /*! \brief Constructs a namer using the fixture's type-info. +   * \param typeInfo Type-info of the fixture type. Use to name the fixture suite. +   */ +  TestNamer( const std::type_info &typeInfo ); +#endif + +  /*! \brief Constructs a namer using the specified fixture name. +   * \param fixtureName Name of the fixture suite. Usually extracted using a macro. +   */ +  TestNamer( const std::string &fixtureName ); + +  virtual ~TestNamer(); + +  /*! \brief Returns the name of the fixture. +   * \return Name of the fixture. +   */ +  virtual std::string getFixtureName() const; + +  /*! \brief Returns the name of the test for the specified method. +   * \param testMethodName Name of the method that implements a test. +   * \return A string that is the concatenation of the test fixture name  +   *         (returned by getFixtureName()) and\a testMethodName,  +   *         separated using '::'. This provides a fairly unique name for a given +   *         test. +   */ +  virtual std::string getTestNameFor( const std::string &testMethodName ) const; + +protected: +  std::string m_fixtureName; +}; + + +CPPUNIT_NS_END + +#endif // CPPUNIT_EXTENSIONS_TESTNAMER_H +  | 
 Swift