From b805efd4fe7f124572220722180d8dd8f3e15400 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Wed, 10 May 2017 20:22:19 +0300 Subject: [PATCH] Add get_pointer tests for 0 --- test/get_pointer_test.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) 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();