diff options
| author | 2016-11-12 10:20:42 +0100 | |
|---|---|---|
| committer | 2016-11-12 10:20:42 +0100 | |
| commit | be98f6b83acf489daefe604e238e4657940b1e64 (patch) | |
| tree | 07b91557b9f437db49683bb467841879b904540b /3rdparty/catch/include/internal/catch_message.h | |
| parent | 29212523d201c4ac7a64a5f8e967d725be6d3b6d (diff) | |
Added Catch testing library (nw)
Diffstat (limited to '3rdparty/catch/include/internal/catch_message.h')
| -rw-r--r-- | 3rdparty/catch/include/internal/catch_message.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/3rdparty/catch/include/internal/catch_message.h b/3rdparty/catch/include/internal/catch_message.h new file mode 100644 index 00000000000..84ff95eab55 --- /dev/null +++ b/3rdparty/catch/include/internal/catch_message.h @@ -0,0 +1,66 @@ +/* + * Created by Phil Nash on 1/2/2013. + * Copyright 2013 Two Blue Cubes Ltd. All rights reserved. + * + * Distributed under the Boost Software License, Version 1.0. (See accompanying + * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + */ +#ifndef TWOBLUECUBES_CATCH_MESSAGE_H_INCLUDED +#define TWOBLUECUBES_CATCH_MESSAGE_H_INCLUDED + +#include <string> +#include "catch_result_type.h" +#include "catch_common.h" + +namespace Catch { + + struct MessageInfo { + MessageInfo( std::string const& _macroName, + SourceLineInfo const& _lineInfo, + ResultWas::OfType _type ); + + std::string macroName; + SourceLineInfo lineInfo; + ResultWas::OfType type; + std::string message; + unsigned int sequence; + + bool operator == ( MessageInfo const& other ) const { + return sequence == other.sequence; + } + bool operator < ( MessageInfo const& other ) const { + return sequence < other.sequence; + } + private: + static unsigned int globalCount; + }; + + struct MessageBuilder { + MessageBuilder( std::string const& macroName, + SourceLineInfo const& lineInfo, + ResultWas::OfType type ) + : m_info( macroName, lineInfo, type ) + {} + + template<typename T> + MessageBuilder& operator << ( T const& value ) { + m_stream << value; + return *this; + } + + MessageInfo m_info; + std::ostringstream m_stream; + }; + + class ScopedMessage { + public: + ScopedMessage( MessageBuilder const& builder ); + ScopedMessage( ScopedMessage const& other ); + ~ScopedMessage(); + + MessageInfo m_info; + }; + +} // end namespace Catch + +#endif // TWOBLUECUBES_CATCH_MESSAGE_H_INCLUDED |
