root / logilab.pylintinstaller / logilab / astng / test / unittest_manager.py

Revision 202:d67e86292521, 2.6 kB (checked in by tziade@…, 11 months ago)

added logilab.pylintinstaller

Line 
1import unittest
2import os
3from os.path import join
4from logilab.astng.manager import ASTNGManager
5
6
7class ASTNGManagerTC(unittest.TestCase):
8    def setUp(self):
9        self.manager = ASTNGManager()
10
11    def test_astng_from_module(self):
12        astng = self.manager.astng_from_module(unittest)
13        self.assertEquals(astng.pure_python, True)
14        import time
15        astng = self.manager.astng_from_module(time)
16        self.assertEquals(astng.pure_python, False)
17       
18    def test_astng_from_class(self):
19        astng = self.manager.astng_from_class(file)
20        self.assertEquals(astng.name, 'file')
21        self.assertEquals(astng.parent.frame().name, '__builtin__')
22
23        astng = self.manager.astng_from_class(object)
24        self.assertEquals(astng.name, 'object')
25        self.assertEquals(astng.parent.frame().name, '__builtin__')
26        self.failUnless('__setattr__' in astng)
27
28       
29       
30    def test_from_directory(self):
31        obj = self.manager.from_directory('data')
32        self.assertEquals(obj.name, 'data')
33        self.assertEquals(obj.path, join(os.getcwd(), 'data'))
34       
35    def test_package_node(self):
36        obj = self.manager.from_directory('data')
37        expected_short = ['SSL1', '__init__', 'all', 'appl', 'format', 'module', 'module2',
38                          'noendingnewline', 'nonregr', 'notall']
39        expected_long = ['SSL1', 'data', 'data.all', 'appl', 'data.format', 'data.module',
40                         'data.module2', 'data.noendingnewline', 'data.nonregr',
41                         'data.notall']
42        self.assertEquals(obj.keys(), expected_short)
43        self.assertEquals([m.name for m in obj.values()], expected_long)
44        self.assertEquals([m for m in list(obj)], expected_short)
45        self.assertEquals([(name, m.name) for name, m in obj.items()],
46                          zip(expected_short, expected_long))
47        self.assertEquals([(name, m.name) for name, m in obj.items()],
48                          zip(expected_short, expected_long))
49       
50        self.assertEquals('module' in obj, True)
51        self.assertEquals(obj.has_key('module'), True)
52        self.assertEquals(obj.get('module').name, 'data.module')
53        self.assertEquals(obj['module'].name, 'data.module')
54        self.assertEquals(obj.get('whatever'), None)
55
56        #self.assertEquals(obj.has_key, [])
57        #self.assertEquals(obj.get, [])
58        #for key in obj:
59        #    print key,
60        #    print obj[key]
61       
62        self.assertEquals(obj.fullname(), 'data')
63        # FIXME: test fullname on a subpackage
64
65__all__ = ('ASTNGManagerTC',)
66       
67if __name__ == '__main__':
68    unittest.main()
69
70   
Note: See TracBrowser for help on using the browser.