|
From: <ric...@us...> - 2011-09-08 23:51:52
|
Revision: 1098
http://loki-lib.svn.sourceforge.net/loki-lib/?rev=1098&view=rev
Author: rich_sposato
Date: 2011-09-08 23:51:46 +0000 (Thu, 08 Sep 2011)
Log Message:
-----------
Added more tests for DestructiveCopy.
Modified Paths:
--------------
trunk/test/SmartPtr/main.cpp
Modified: trunk/test/SmartPtr/main.cpp
===================================================================
--- trunk/test/SmartPtr/main.cpp 2011-09-08 23:37:26 UTC (rev 1097)
+++ trunk/test/SmartPtr/main.cpp 2011-09-08 23:51:46 UTC (rev 1098)
@@ -1480,9 +1480,31 @@
DestructiveCopyPtr p3( p2 );
assert( p3 );
assert( !p2 );
+ }
+
+ {
+ const DestructiveCopyPtr p1( new BaseClass );
+ assert( p1 );
+ /** @note The following code won't compile because p1 is declared const. You can test
+ if Loki's SmartPtr DestructiveCopy policy was designed correctly by uncommenting these
+ lines and seeing if any errors occur when compiling. If you see errors about converting
+ from const to non-const, or about assigning a ready-only reference, then DestructiveCopy
+ was designed correctly.
+ */
+// DestructiveCopyPtr p2;
+// assert( !p2 );
+// p2 = p1;
+// assert( !p1 );
+// assert( p2 );
+// DestructiveCopyPtr p3( p2 );
+// assert( p3 );
+// assert( !p2 );
+ }
+
+ {
/// @todo The following lines need to be uncommented when bug 3224572 gets fixed.
-// DestructiveCopyPtr p4( MakePointer() );
-// assert( p4 );
+// DestructiveCopyPtr p1( MakePointer() );
+// assert( p1 );
}
assert( BaseClass::AllDestroyed() );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|