mirror of
https://github.com/python/cpython.git
synced 2025-07-17 08:15:19 +00:00
Add test suite for super().
This commit is contained in:
parent
f5cb357468
commit
c4a1880de4
1 changed files with 32 additions and 0 deletions
|
@ -1092,6 +1092,37 @@ def getsets():
|
|||
## C.x.__set__(a)
|
||||
## verify(not hasattr(a, "x"))
|
||||
|
||||
def supers():
|
||||
if verify: print "Testing super..."
|
||||
|
||||
class A(object):
|
||||
def meth(self, a):
|
||||
return "A(%r)" % a
|
||||
|
||||
verify(A().meth(1) == "A(1)")
|
||||
|
||||
class B(A):
|
||||
def __init__(self):
|
||||
self.__super = super(B, self)
|
||||
def meth(self, a):
|
||||
return "B(%r)" % a + self.__super.meth(a)
|
||||
|
||||
verify(B().meth(2) == "B(2)A(2)")
|
||||
|
||||
class C(A):
|
||||
__dynamic__ = 1
|
||||
def meth(self, a):
|
||||
return "C(%r)" % a + self.__super.meth(a)
|
||||
C._C__super = super(C)
|
||||
|
||||
verify(C().meth(3) == "C(3)A(3)")
|
||||
|
||||
class D(C, B):
|
||||
def meth(self, a):
|
||||
return "D(%r)" % a + super(D, self).meth(a)
|
||||
|
||||
verify (D().meth(4) == "D(4)C(4)B(4)A(4)")
|
||||
|
||||
def all():
|
||||
lists()
|
||||
dicts()
|
||||
|
@ -1122,6 +1153,7 @@ def all():
|
|||
specials()
|
||||
weakrefs()
|
||||
getsets()
|
||||
supers()
|
||||
|
||||
all()
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue