diff --git a/src/libraries/turtle/log.hpp b/src/libraries/turtle/log.hpp index 57d80b6..14b3cf4 100644 --- a/src/libraries/turtle/log.hpp +++ b/src/libraries/turtle/log.hpp @@ -140,6 +140,10 @@ namespace detail2 { s << '"' << str << '"'; } + inline void serialize( stream& s, unsigned char c ) + { + s << static_cast< int >( c ); + } template< typename T > struct formatter diff --git a/src/tests/turtle_test/log_test.cpp b/src/tests/turtle_test/log_test.cpp index c829e42..6de2613 100644 --- a/src/tests/turtle_test/log_test.cpp +++ b/src/tests/turtle_test/log_test.cpp @@ -558,3 +558,8 @@ BOOST_AUTO_TEST_CASE( mock_detail_template_template_streamable_yields_its_value_ { BOOST_CHECK_EQUAL( "mock::detail::template_streamable", to_string( mock::detail::template_streamable< int >() ) ); } + +BOOST_AUTO_TEST_CASE( unsigned_char_is_serialized_as_int ) +{ + BOOST_CHECK_EQUAL( boost::lexical_cast< std::string >( int( 'a' ) ), to_string( unsigned char( 'a' ) ) ); +}