Mercurial > cpython-lru_cache-weakref
view Lib/test/test_new.py @ 5817:48b94de85bf3 legacy-trunk
Extensive changes by AMK.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 17 Jul 1997 16:29:42 +0000 |
| parents | 7f6d19fc5aca |
| children | aedd2d0dcb31 |
line wrap: on
line source
from test_support import verbose import sys import new class Eggs: def get_yolks(self): return self.yolks print 'new.module()' m = new.module('Spam') if verbose: print m m.Eggs = Eggs sys.modules['Spam'] = m import Spam def get_more_yolks(self): return self.yolks + 3 print 'new.classobj()' C = new.classobj('Spam', (Spam.Eggs,), {'get_more_yolks': get_more_yolks}) if verbose: print C print 'new.instance()' c = new.instance(C, {'yolks': 3}) if verbose: print c def break_yolks(self): self.yolks = self.yolks - 2 print 'new.instancemethod()' im = new.instancemethod(break_yolks, c, C) if verbose: print im if c.get_yolks() <> 3 and c.get_more_yolks() <> 6: print 'Broken call of hand-crafted class instance' im() if c.get_yolks() <> 1 and c.get_more_yolks() <> 4: print 'Broken call of hand-crafted instance method' codestr = ''' a = 1 b = 2 c = a + b ''' ccode = compile(codestr, '<string>', 'exec') g = {'c': 0, '__builtins__': __builtins__} # this test could be more robust print 'new.function()' func = new.function(ccode, g) if verbose: print func func() if g['c'] <> 3: print 'Could not create a proper function object' # bogus test of new.code() print 'new.code()' d = new.code(3, 3, 3, 3, codestr, (), (), (), "<string>", "<name>", 1, "") if verbose: print d
