mirror of
https://github.com/boostorg/python.git
synced 2026-01-31 08:22:18 +00:00
This commit was manufactured by cvs2svn to create branch 'mpl_v2'.
[SVN r13495]
This commit is contained in:
@@ -1,85 +0,0 @@
|
||||
"""
|
||||
>>> from test_pointer_adoption_ext import *
|
||||
|
||||
>>> num_a_instances()
|
||||
0
|
||||
|
||||
>>> a = create('dynamically allocated')
|
||||
>>> num_a_instances()
|
||||
1
|
||||
|
||||
>>> a.content()
|
||||
'dynamically allocated'
|
||||
|
||||
>>> innards = a.get_inner()
|
||||
>>> innards.change('with an exposed reference')
|
||||
>>> a.content()
|
||||
'with an exposed reference'
|
||||
|
||||
# The a instance should be kept alive...
|
||||
>>> a = None
|
||||
>>> num_a_instances()
|
||||
1
|
||||
|
||||
# ...until we're done with its innards
|
||||
>>> innards = None
|
||||
>>> num_a_instances()
|
||||
0
|
||||
|
||||
>>> b = B()
|
||||
>>> a = create('another')
|
||||
>>> b.a_content()
|
||||
'empty'
|
||||
>>> innards = b.adopt(a);
|
||||
>>> b.a_content()
|
||||
'another'
|
||||
>>> num_a_instances()
|
||||
1
|
||||
>>> del a # innards and b are both holding a reference
|
||||
>>> num_a_instances()
|
||||
1
|
||||
>>> innards.change('yet another')
|
||||
>>> b.a_content()
|
||||
'yet another'
|
||||
|
||||
>>> del innards
|
||||
>>> num_a_instances() # b still owns a reference to a
|
||||
1
|
||||
>>> del b
|
||||
>>> num_a_instances()
|
||||
0
|
||||
|
||||
Test call policies for constructors here
|
||||
|
||||
>>> a = create('second a')
|
||||
>>> num_a_instances()
|
||||
1
|
||||
>>> b = B(a)
|
||||
>>> num_a_instances()
|
||||
1
|
||||
>>> a.content()
|
||||
'second a'
|
||||
|
||||
>>> del a
|
||||
>>> num_a_instances()
|
||||
1
|
||||
>>> b.a_content()
|
||||
'second a'
|
||||
|
||||
>>> del b
|
||||
>>> num_a_instances()
|
||||
0
|
||||
|
||||
"""
|
||||
def run(args = None):
|
||||
import sys
|
||||
import doctest
|
||||
|
||||
if args is not None:
|
||||
sys.argv = args
|
||||
return doctest.testmod(sys.modules.get(__name__))
|
||||
|
||||
if __name__ == '__main__':
|
||||
print "running..."
|
||||
import sys
|
||||
sys.exit(run()[0])
|
||||
Reference in New Issue
Block a user