[Python-checkins] r59599 - python/trunk/Lib/test/test_descr.py

brett.cannon python-checkins at python.org
Tue Dec 25 01:14:35 CET 2007


Author: brett.cannon
Date: Tue Dec 25 01:14:34 2007
New Revision: 59599
Modified:
 python/trunk/Lib/test/test_descr.py
Log:
Actually execute the tests for the getter/setter/deleter tests on properties.
Also fix the test by having the test classes inherit from object.
Are the getter/setter/deleter attributes supposed to be able to chain? As of
right now they can't as the property tries to call what the property returns,
which is another property when they are chained.
Modified: python/trunk/Lib/test/test_descr.py
==============================================================================
--- python/trunk/Lib/test/test_descr.py	(original)
+++ python/trunk/Lib/test/test_descr.py	Tue Dec 25 01:14:34 2007
@@ -2131,7 +2131,7 @@
 
 
 def properties_plus():
- class C:
+ class C(object):
 foo = property(doc="hello")
 @foo.getter
 def foo(self):
@@ -2146,8 +2146,11 @@
 assert C.foo.__doc__ == "hello"
 assert not hasattr(c, "foo")
 c.foo = -42
+ assert hasattr(c, '_foo')
+ assert c._foo == 42
 assert c.foo == 42
 del c.foo
+ assert not hasattr(c, '_foo')
 assert not hasattr(c, "foo")
 
 class D(C):
@@ -2163,20 +2166,20 @@
 del d.foo
 del d.foo
 
- class E:
+ class E(object):
 @property
 def foo(self):
 return self._foo
 @foo.setter
- def foo (self, value):
+ def foo(self, value):
 raise RuntimeError
 @foo.setter
+ def foo(self, value):
+ self._foo = abs(value)
 @foo.deleter
 def foo(self, value=None):
- if value is None:
- del self._foo
- else:
- self._foo = abs(value)
+ del self._foo
+
 e = E()
 e.foo = -42
 assert e.foo == 42
@@ -2193,6 +2196,7 @@
 f.foo = -10
 assert f.foo == 0
 del f.foo
+ print "*** HIT"
 
 
 def supers():
@@ -4477,6 +4481,7 @@
 recursions()
 weakrefs()
 properties()
+ properties_plus()
 supers()
 inherits()
 keywords()


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /