[Python-checkins] CVS: python/dist/src/Lib/test test_descr.py,1.1.2.19,1.1.2.20
Guido van Rossum
gvanrossum@users.sourceforge.net
Fri, 29 Jun 2001 08:06:34 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv29317
Modified Files:
Tag: descr-branch
test_descr.py
Log Message:
Add tests for dynamic types.
Index: test_descr.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/Attic/test_descr.py,v
retrieving revision 1.1.2.19
retrieving revision 1.1.2.20
diff -C2 -r1.1.2.19 -r1.1.2.20
*** test_descr.py 2001/06/28 20:35:31 1.1.2.19
--- test_descr.py 2001/06/29 15:06:31 1.1.2.20
***************
*** 502,505 ****
--- 502,544 ----
verify(x.c == 3)
+ def dynamics():
+ if verbose: print "Testing __dynamic__..."
+ class S1:
+ __metaclass__ = type
+ verify(S1.__dynamic__ == 0)
+ class S(object):
+ pass
+ verify(C.__dynamic__ == 0)
+ class D(object):
+ __dynamic__ = 1
+ verify(D.__dynamic__ == 1)
+ class E(D, S):
+ pass
+ verify(E.__dynamic__ == 1)
+ class F(S, D):
+ pass
+ verify(F.__dynamic__ == 1)
+ try:
+ S.foo = 1
+ except (AttributeError, TypeError):
+ pass
+ else:
+ print "Ouch: assignment to a static class attribute shouldn't work!"
+ D.foo = 1
+ verify(D.foo == 1)
+ # Test that dynamic attributes are inherited
+ verify(E.foo == 1)
+ verify(F.foo == 1)
+ class SS(D):
+ __dynamic__ = 0
+ verify(SS.__dynamic__ == 0)
+ verify(SS.foo == 1)
+ try:
+ SS.foo = 1
+ except (AttributeError, TypeError):
+ pass
+ else:
+ print "Ouch: assignment to SS.foo shouldn't work!"
+
def errors():
if verbose: print "Testing errors..."
***************
*** 572,575 ****
--- 611,615 ----
objects()
slots()
+ dynamics()
errors()