From: Guido van Rossum <guido@python.org> Date: Fri, 17 Aug 2001 11:55:58 +0000 (+0000) Subject: Add early binding of methods to the 2nd metaclass example. X-Git-Tag: v2.2a3~481 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7e1ff69271413a61c69edb24de214895cdaa1fec;p=python Add early binding of methods to the 2nd metaclass example. --- diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index 247a4c49b3..a26a1e28f4 100644 --- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -404,7 +404,11 @@ def metaclass(): __new__ = staticmethod(__new__) def __call__(self): it = _instance() - # XXX Should do more, but that doesn't work yet + # Early binding of methods + for key in self.dict: + if key.startswith("__"): + continue + setattr(it, key, self.dict[key].__get__(it, self)) return it class C: __metaclass__ = M2 @@ -414,6 +418,7 @@ def metaclass(): verify(C.bases == ()) verify('spam' in C.dict) c = C() + verify(c.spam() == 42) def pymods(): if verbose: print "Testing Python subclass of module..."