diff --git a/test/detail/test_type_name.cpp b/test/detail/test_type_name.cpp index 1c252b9..6344338 100644 --- a/test/detail/test_type_name.cpp +++ b/test/detail/test_type_name.cpp @@ -15,7 +15,7 @@ namespace template< typename T > std::string to_string( const T& ) { - return boost::lexical_cast< std::string >( mock::detail::type_name( BOOST_SP_TYPEID( T ) ) ); + return boost::lexical_cast< std::string >( MOCK_TYPE_NAME(T) ); } } @@ -111,7 +111,7 @@ BOOST_AUTO_TEST_CASE( name_of_type_in_unnamed_inner_namespace_is_extracted ) BOOST_AUTO_TEST_CASE( name_of_local_type_is_extracted ) { struct my_local_type {}; - BOOST_CHECK_EQUAL( "my_local_type", boost::lexical_cast< std::string >( mock::detail::type_name( BOOST_SP_TYPEID( my_local_type ) ) ) ); + BOOST_CHECK_EQUAL( "my_local_type", boost::lexical_cast< std::string >( MOCK_TYPE_NAME(my_local_type) ) ); } namespace diff --git a/test/test_object.cpp b/test/test_object.cpp index da47792..4f86a12 100644 --- a/test/test_object.cpp +++ b/test/test_object.cpp @@ -32,7 +32,7 @@ namespace { fixture() { - mock::detail::configure( o, e, "instance", mock::detail::type_name( BOOST_SP_TYPEID( o ) ), "name" ); + mock::detail::configure( o, e, "instance", MOCK_TYPE_NAME(o), "name" ); } object o; mock::detail::function< void() > e; @@ -72,7 +72,7 @@ BOOST_FIXTURE_TEST_CASE( an_object_is_assignable_by_sharing_its_state, mock_erro mock::detail::function< void() > e; { object o2; - mock::detail::configure( o2, e, "instance", mock::detail::type_name( BOOST_SP_TYPEID( o2 ) ), "name" ); + mock::detail::configure( o2, e, "instance", MOCK_TYPE_NAME(o2), "name" ); e.expect().once(); o1 = o2; CHECK_ERROR( @@ -92,7 +92,7 @@ BOOST_FIXTURE_TEST_CASE( an_object_is_copiable_by_sharing_its_state, mock_error_ std::auto_ptr< object > o2( new object ); const object o1( *o2 ); mock::detail::function< void() > e; - mock::detail::configure( *o2, e, "instance", mock::detail::type_name( BOOST_SP_TYPEID( *o2 ) ), "name" ); + mock::detail::configure( *o2, e, "instance", MOCK_TYPE_NAME(*o2), "name" ); e.expect().once(); CHECK_ERROR( BOOST_CHECK( ! mock::verify( *o2 ) ), diff --git a/turtle/detail/type_name.hpp b/turtle/detail/type_name.hpp index 4a72bb9..96d6cc1 100644 --- a/turtle/detail/type_name.hpp +++ b/turtle/detail/type_name.hpp @@ -24,6 +24,8 @@ #include #endif +#define MOCK_TYPE_NAME( T ) mock::detail::type_name( BOOST_SP_TYPEID(T) ) + namespace mock { namespace detail diff --git a/turtle/mock.hpp b/turtle/mock.hpp index b0c7816..3fe2aba 100644 --- a/turtle/mock.hpp +++ b/turtle/mock.hpp @@ -67,7 +67,7 @@ { \ mock::detail::configure( *this, t##_mock_, \ instance.substr( 0, instance.rfind( BOOST_PP_STRINGIZE(t) ) ), \ - mock::detail::type_name( BOOST_SP_TYPEID(*this) ), \ + MOCK_TYPE_NAME(*this), \ BOOST_PP_STRINGIZE(t) ); \ return t##_mock_; \ }