summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSylvain Thénault <sylvain.thenault@logilab.fr>2009-03-18 15:58:32 +0100
committerSylvain Thénault <sylvain.thenault@logilab.fr>2009-03-18 15:58:32 +0100
commit536f3efaaa298115a93fc34a7909c8c4c4260ca9 (patch)
treed483e93ff642d5e6e18fd2982ca837a12e34e8a8 /test
parentfe9f8d504b3a4f37f2dc21334412050dd3a67761 (diff)
downloadastroid-git-536f3efaaa298115a93fc34a7909c8c4c4260ca9.tar.gz
more special attributes handling fixes
--HG-- branch : _ast_compat
Diffstat (limited to 'test')
-rw-r--r--test/unittest_scoped_nodes.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/test/unittest_scoped_nodes.py b/test/unittest_scoped_nodes.py
index 680fc17b..950f98e1 100644
--- a/test/unittest_scoped_nodes.py
+++ b/test/unittest_scoped_nodes.py
@@ -192,7 +192,7 @@ class ClassNodeTC(TestCase):
def test_dict_interface(self):
_test_dict_interface(self, MODULE['YOUPI'], 'method')
- def test_cls_special_attributes(self):
+ def test_cls_special_attributes_1(self):
cls = MODULE['YO']
self.assertEquals(len(cls.getattr('__bases__')), 1)
self.assertEquals(len(cls.getattr('__name__')), 1)
@@ -209,10 +209,22 @@ class ClassNodeTC(TestCase):
for cls in (nodes.List._proxied, nodes.Const(1)._proxied):
self.assertEquals(len(cls.getattr('__bases__')), 1)
self.assertEquals(len(cls.getattr('__name__')), 1)
- self.assertEquals(len(cls.getattr('__doc__')), 1)
+ self.assertEquals(len(cls.getattr('__doc__')), 1, (cls, cls.getattr('__doc__')))
+ self.assertEquals(cls.getattr('__doc__')[0].value, cls.doc)
self.assertEquals(len(cls.getattr('__module__')), 1)
self.assertEquals(len(cls.getattr('__dict__')), 1)
self.assertEquals(len(cls.getattr('__mro__')), 1)
+
+ def test_cls_special_attributes_2(self):
+ astng = abuilder.string_build('''
+class A: pass
+class B: pass
+
+A.__bases__ += (B,)
+''', __name__, __file__)
+ self.assertEquals(len(astng['A'].getattr('__bases__')), 2)
+ self.assertIsInstance(astng['A'].getattr('__bases__')[0], nodes.Tuple)
+ self.assertIsInstance(astng['A'].getattr('__bases__')[1], nodes.AssAttr)
def test_instance_special_attributes(self):
for inst in (Instance(MODULE['YO']), nodes.List(), nodes.Const(1)):