Add get_pointer tests for 0

This commit is contained in:
Peter Dimov
2017-05-10 20:22:19 +03:00
parent 80875a19b6
commit b805efd4fe

View File

@ -1,7 +1,7 @@
//
// get_pointer_test.cpp
//
// Copyright 2014 Peter Dimov
// Copyright 2014, 2017 Peter Dimov
//
// Distributed under the Boost Software License, Version 1.0.
// See accompanying file LICENSE_1_0.txt or copy at
@ -27,11 +27,23 @@ int main()
delete p;
}
{
X * p = 0;
BOOST_TEST( get_pointer( p ) == 0 );
}
#if !defined( BOOST_NO_AUTO_PTR )
{
std::auto_ptr< X > p( new X );
BOOST_TEST( get_pointer( p ) == p.get() );
}
{
std::auto_ptr< X > p;
BOOST_TEST( get_pointer( p ) == 0 );
}
#endif
#if !defined( BOOST_NO_CXX11_SMART_PTR )
@ -41,11 +53,21 @@ int main()
BOOST_TEST( get_pointer( p ) == p.get() );
}
{
std::unique_ptr< X > p;
BOOST_TEST( get_pointer( p ) == 0 );
}
{
std::shared_ptr< X > p( new X );
BOOST_TEST( get_pointer( p ) == p.get() );
}
{
std::shared_ptr< X > p;
BOOST_TEST( get_pointer( p ) == 0 );
}
#endif
return boost::report_errors();