git-svn-id: https://svn.code.sf.net/p/turtle/code/trunk@675 860be788-9bd5-4423-9f1e-828f051e677b
This commit is contained in:
mat007 2013-07-09 06:58:06 +00:00
parent fc5237fb96
commit 8c26729399
2 changed files with 13 additions and 16 deletions

View file

@ -544,12 +544,10 @@ BOOST_FIXTURE_TEST_CASE( triggering_an_expectation_returns_the_set_auto_ptr_valu
BOOST_FIXTURE_TEST_CASE( triggering_an_expectation_returns_the_set_shared_ptr_value, error_fixture ) BOOST_FIXTURE_TEST_CASE( triggering_an_expectation_returns_the_set_shared_ptr_value, error_fixture )
{ {
{
mock::detail::function< boost::shared_ptr< A >() > f; mock::detail::function< boost::shared_ptr< A >() > f;
f.expect().returns( new B ); f.expect().returns( new B );
BOOST_CHECK_NO_THROW( f() ); BOOST_CHECK_NO_THROW( f() );
CHECK_CALLS( 1 ); CHECK_CALLS( 1 );
}
} }
BOOST_FIXTURE_TEST_CASE( triggering_an_expectation_returns_by_reference, error_fixture ) BOOST_FIXTURE_TEST_CASE( triggering_an_expectation_returns_by_reference, error_fixture )

View file

@ -12,14 +12,14 @@
# error no error policy has been set # error no error policy has been set
#endif #endif
#define MOCK_FORMAT(z, n, N) \ #define MOCK_FUNCTION_FORMAT(z, n, N) \
<< ' ' << mock::format( t##n ) \ << ' ' << mock::format( t##n ) \
<< BOOST_PP_IF(BOOST_PP_EQUAL(N,n), ' ', ',') << BOOST_PP_IF(BOOST_PP_EQUAL(N,n), ' ', ',')
#define MOCK_CONTEXT \ #define MOCK_FUNCTION_CONTEXT \
boost::unit_test::lazy_ostream::instance() \ boost::unit_test::lazy_ostream::instance() \
<< lazy_context( this ) \ << lazy_context( this ) \
<< '(' BOOST_PP_REPEAT(MOCK_NUM_ARGS, MOCK_FORMAT, \ << '(' BOOST_PP_REPEAT(MOCK_NUM_ARGS, MOCK_FUNCTION_FORMAT, \
BOOST_PP_DEC(MOCK_NUM_ARGS)) \ BOOST_PP_DEC(MOCK_NUM_ARGS)) \
<< ')' \ << ')' \
<< lazy_expectations( this ) << lazy_expectations( this )
@ -113,22 +113,22 @@ namespace detail
if( ! it->invoke() ) if( ! it->invoke() )
{ {
error_type::fail( "sequence failed", error_type::fail( "sequence failed",
MOCK_CONTEXT, it->file(), it->line() ); MOCK_FUNCTION_CONTEXT, it->file(), it->line() );
return error_type::abort(); return error_type::abort();
} }
if( ! it->functor() ) if( ! it->functor() )
{ {
error_type::fail( "missing action", error_type::fail( "missing action",
MOCK_CONTEXT, it->file(), it->line() ); MOCK_FUNCTION_CONTEXT, it->file(), it->line() );
return error_type::abort(); return error_type::abort();
} }
valid_ = true; valid_ = true;
error_type::call( error_type::call(
MOCK_CONTEXT, it->file(), it->line() ); MOCK_FUNCTION_CONTEXT, it->file(), it->line() );
return it->functor()( return it->functor()(
BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, t) ); BOOST_PP_ENUM_PARAMS(MOCK_NUM_ARGS, t) );
} }
error_type::fail( "unexpected call", MOCK_CONTEXT ); error_type::fail( "unexpected call", MOCK_FUNCTION_CONTEXT );
return error_type::abort(); return error_type::abort();
} }
@ -182,6 +182,5 @@ namespace detail
} }
} // mock } // mock
#undef MOCK_FORMAT #undef MOCK_FUNCTION_FORMAT
#undef MOCK_OPERATOR #undef MOCK_FUNCTION_CONTEXT
#undef MOCK_CONTEXT