summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaura M?dioni <laura.medioni@logilab.fr>2015-10-30 16:28:44 +0100
committerLaura M?dioni <laura.medioni@logilab.fr>2015-10-30 16:28:44 +0100
commit6241ddd90739437d2b653856f50f15cfedbf3a4e (patch)
treef51c24ce1a90de2f7516e082b937857df3e07356
parent83f6c45c343cae87f415268959b1056030a5e74c (diff)
downloadastroid-6241ddd90739437d2b653856f50f15cfedbf3a4e.tar.gz
add support for inference on str.split()
-rw-r--r--astroid/brain/brain_builtin_inference.py2
-rw-r--r--astroid/tests/unittest_inference.py6
2 files changed, 8 insertions, 0 deletions
diff --git a/astroid/brain/brain_builtin_inference.py b/astroid/brain/brain_builtin_inference.py
index c6245be..7559271 100644
--- a/astroid/brain/brain_builtin_inference.py
+++ b/astroid/brain/brain_builtin_inference.py
@@ -60,6 +60,8 @@ def _extend_str(class_node, rvalue):
return {rvalue}
def ljust(self, width, fillchar=None):
return {rvalue}
+ def split(self, *args):
+ return []
''')
code = code.format(rvalue=rvalue)
fake = AstroidBuilder(MANAGER).string_build(code)['whatever']
diff --git a/astroid/tests/unittest_inference.py b/astroid/tests/unittest_inference.py
index 6adaada..fa090f8 100644
--- a/astroid/tests/unittest_inference.py
+++ b/astroid/tests/unittest_inference.py
@@ -1796,6 +1796,8 @@ class InferenceTest(resources.SysPathSetup, unittest.TestCase):
' '.index() #@
' '.find() #@
' '.count() #@
+
+ ' '.split() #@
"""
ast = test_utils.extract_node(code, __name__)
self.assertInferConst(ast[0], u'')
@@ -1803,6 +1805,7 @@ class InferenceTest(resources.SysPathSetup, unittest.TestCase):
self.assertInferConst(ast[i], '')
for i in range(16, 19):
self.assertInferConst(ast[i], 0)
+ self.assertInferList(ast[19], [])
def test_unicode_methods(self):
code = """
@@ -1827,6 +1830,8 @@ class InferenceTest(resources.SysPathSetup, unittest.TestCase):
u' '.index() #@
u' '.find() #@
u' '.count() #@
+
+ u' '.split() #@
"""
ast = test_utils.extract_node(code, __name__)
self.assertInferConst(ast[0], '')
@@ -1834,6 +1839,7 @@ class InferenceTest(resources.SysPathSetup, unittest.TestCase):
self.assertInferConst(ast[i], u'')
for i in range(16, 19):
self.assertInferConst(ast[i], 0)
+ self.assertInferList(ast[19], [])
def test_scope_lookup_same_attributes(self):
code = '''