diff options
Diffstat (limited to 'test/unittest_bind.py')
-rw-r--r-- | test/unittest_bind.py | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/test/unittest_bind.py b/test/unittest_bind.py deleted file mode 100644 index 282577b..0000000 --- a/test/unittest_bind.py +++ /dev/null @@ -1,62 +0,0 @@ -"""unit tests for logilab.common.bind module""" - -__revision__ = '$Id: unittest_bind.py,v 1.2 2006-01-03 15:31:16 syt Exp $' - -from logilab.common.testlib import TestCase, unittest_main -from logilab.common.compat import set as Set -from logilab.common import bind - -HELLO = 'Hello' -def f(): - return HELLO - -def modify_hello(): - global HELLO - HELLO = 'hacked !' - -import foomod - -class BindTC(TestCase): - """Test suite for bind module""" - - def test_simple_bind(self): - """tests a simple global variable becomes a local one""" - self.assertEquals(f(), HELLO) - d = {'HELLO' : HELLO} - new_f = bind.bind(f, d) - self.assertEquals(new_f(), f()) - f_consts = f.func_code.co_consts - newf_consts = new_f.func_code.co_consts - self.assertEquals(f_consts, (None,)) - self.assert_(newf_consts, (None, HELLO)) - - def test_optimize_on_a_func(self): - """make sure optimize only workds for modules""" - self.assertRaises(TypeError, bind.optimize_module, f, ('c1', 'c2')) - self.assertRaises(TypeError, bind.optimize_module_2, f, ('c1', 'c2')) - self.assertRaises(TypeError, bind.optimize_module, [], ('c1', 'c2')) - self.assertRaises(TypeError, bind.optimize_module_2, [], ('c1', 'c2')) - - def test_analyze_code(self): - """tests bind.analyze_code()""" - consts_dict, consts_list = {}, [] - globs = {'HELLO' : "some global value"} - modified = bind.analyze_code(modify_hello.func_code, globs, - consts_dict, consts_list) - self.assertEquals(consts_list, [None, 'hacked !']) - self.assertEquals(modified, ['HELLO']) - - def test_optimize_module2(self): - """test optimize_module_2()""" - f1_consts = Set(foomod.f1.func_code.co_consts) - f2_consts = Set(foomod.f2.func_code.co_consts) - f3_consts = Set(foomod.f3.func_code.co_consts) - bind.optimize_module_2(foomod, ['f1', 'f2', 'f3']) - newf1_consts = Set(foomod.f1.func_code.co_consts) - newf2_consts = Set(foomod.f2.func_code.co_consts) - newf3_consts = Set(foomod.f3.func_code.co_consts) - self.assert_(newf1_consts == newf2_consts == newf3_consts) - self.assertEquals(newf1_consts, f1_consts | f2_consts | f3_consts) - -if __name__ == '__main__': - unittest_main() |