Files
jedi/test/test_evaluate/test_iterable.py
2015-07-29 00:08:21 +08:00

32 lines
697 B
Python

from textwrap import dedent
from jedi import names
def get_scope_and_evaluator(source):
d = names(dedent(source))[0]
return d.parent()._definition, d._evaluator
def find_types(s):
scope, evaluator = get_scope_and_evaluator(s)
return evaluator.find_types(scope, s[0])
def test_comprehensions():
"""
test list/set/generator/dict comprehension syntax
"""
s = "a = [i for i in range(10)]"
assert len(find_types(s)) == 1
s = "a = [i for i in range(10)]"
assert len(find_types(s)) == 1
s = "a = {i:i for i in range(10)}"
assert len(find_types(s)) == 1
s = "a = {i for i in range(10)}"
assert len(find_types(s)) == 1