diff --git a/Test/MiscTests.cpp b/Test/MiscTests.cpp index 52d00141..afe42baf 100644 --- a/Test/MiscTests.cpp +++ b/Test/MiscTests.cpp @@ -105,3 +105,14 @@ TEST_CASE( "./succeeding/Misc/stdout,stderr", "Sends stuff to stdout and stderr" std::cerr << "An error"; } + +const char* makeString( bool makeNull ) +{ + return makeNull ? NULL : "valid string"; +} + +TEST_CASE( "./succeeding/Misc/null strings", "" ) +{ + REQUIRE( makeString( false ) != static_cast(NULL)); + REQUIRE( makeString( true ) == static_cast(NULL)); +} diff --git a/internal/catch_capture.hpp b/internal/catch_capture.hpp index 047a1ac8..213c609f 100644 --- a/internal/catch_capture.hpp +++ b/internal/catch_capture.hpp @@ -105,15 +105,23 @@ inline std::string toString { return value; } +/////////////////////////////////////////////////////////////////////////////// +inline std::string toString +( + const char* const value +) +{ + return value ? "'" + std::string( value ) + "'" : std::string( "{null string}" ); +} /////////////////////////////////////////////////////////////////////////////// inline std::string toString ( - const char* value + char* const value ) { - return value; -} + return toString( static_cast( value ) ); +} /////////////////////////////////////////////////////////////////////////////// inline std::string toString