diff --git a/test/get_pointer_test.cpp b/test/get_pointer_test.cpp index bf981cf..1ddf3be 100644 --- a/test/get_pointer_test.cpp +++ b/test/get_pointer_test.cpp @@ -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();