summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-08-17 13:40:47 +0000
committerGuido van Rossum <guido@python.org>2001-08-17 13:40:47 +0000
commit36b0ee6f835115c52381c39f5a158aa56e0ded56 (patch)
treeb4e886138b922d766ef7abfff3491c310bf11cb0
parent5cef1e3745c9c1465fea1570bc9e2127b6fee3a6 (diff)
downloadcpython-36b0ee6f835115c52381c39f5a158aa56e0ded56.tar.gz
classic(), methods(): add another test relating to unbound methods:
when an unbound method of class A is stored as a class variable of class B, and class B is *not* a subclass of class A, that method should *not* get bound to B instances.
-rw-r--r--Lib/test/test_descr.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index a26a1e28f4..e40e003486 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -760,6 +760,9 @@ def classic():
verify(d.goo(1) == (D, 1))
verify(d.foo(1) == (d, 1))
verify(D.foo(d, 1) == (d, 1))
+ class E: # *not* subclassing from C
+ foo = C.foo
+ verify(E().foo == C.foo) # i.e., unbound
def compattr():
if verbose: print "Testing computed attributes..."
@@ -901,6 +904,9 @@ def methods():
verify(d2.foo() == 2)
verify(d2.boo() == 2)
verify(d2.goo() == 1)
+ class E(object):
+ foo = C.foo
+ verify(E().foo == C.foo) # i.e., unbound
def specials():
# Test operators like __hash__ for which a built-in default exists