mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +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)
|
## C.x.__set__(a)
|
||||||
## verify(not hasattr(a, "x"))
|
## 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():
|
def all():
|
||||||
lists()
|
lists()
|
||||||
dicts()
|
dicts()
|
||||||
|
@ -1122,6 +1153,7 @@ def all():
|
||||||
specials()
|
specials()
|
||||||
weakrefs()
|
weakrefs()
|
||||||
getsets()
|
getsets()
|
||||||
|
supers()
|
||||||
|
|
||||||
all()
|
all()
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue