diff -r ffa851df0825 -r 2fb8b9db1c86 symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_opcodes.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/test_opcodes.py Fri Jul 31 15:01:17 2009 +0100 @@ -0,0 +1,110 @@ +# Python test set -- part 2, opcodes + +from test.test_support import run_unittest +import unittest + +class OpcodeTest(unittest.TestCase): + + def test_try_inside_for_loop(self): + n = 0 + for i in range(10): + n = n+i + try: 1/0 + except NameError: pass + except ZeroDivisionError: pass + except TypeError: pass + try: pass + except: pass + try: pass + finally: pass + n = n+i + if n != 90: + self.fail('try inside for') + + def test_raise_class_exceptions(self): + + class AClass: pass + class BClass(AClass): pass + class CClass: pass + class DClass(AClass): + def __init__(self, ignore): + pass + + try: raise AClass() + except: pass + + try: raise AClass() + except AClass: pass + + try: raise BClass() + except AClass: pass + + try: raise BClass() + except CClass: self.fail() + except: pass + + a = AClass() + b = BClass() + + try: raise AClass, b + except BClass, v: + self.assertEqual(v, b) + else: self.fail("no exception") + + try: raise b + except AClass, v: + self.assertEqual(v, b) + else: + self.fail("no exception") + + # not enough arguments + try: raise BClass, a + except TypeError: pass + else: self.fail("no exception") + + try: raise DClass, a + except DClass, v: + self.assert_(isinstance(v, DClass)) + else: + self.fail("no exception") + + def test_compare_function_objects(self): + + f = eval('lambda: None') + g = eval('lambda: None') + self.assertNotEquals(f, g) + + f = eval('lambda a: a') + g = eval('lambda a: a') + self.assertNotEquals(f, g) + + f = eval('lambda a=1: a') + g = eval('lambda a=1: a') + self.assertNotEquals(f, g) + + f = eval('lambda: 0') + g = eval('lambda: 1') + self.assertNotEquals(f, g) + + f = eval('lambda: None') + g = eval('lambda a: None') + self.assertNotEquals(f, g) + + f = eval('lambda a: None') + g = eval('lambda b: None') + self.assertNotEquals(f, g) + + f = eval('lambda a: None') + g = eval('lambda a=None: None') + self.assertNotEquals(f, g) + + f = eval('lambda a=0: None') + g = eval('lambda a=1: None') + self.assertNotEquals(f, g) + + +def test_main(): + run_unittest(OpcodeTest) + +if __name__ == '__main__': + test_main()