1
0
forked from VimPlug/jedi

add parsing tests for name/call positions

This commit is contained in:
David Halter
2013-08-16 21:34:58 +04:30
parent 0268109d1d
commit cb21de45f1
3 changed files with 13 additions and 4 deletions

View File

@@ -189,7 +189,6 @@ class Script(object):
completions.append((c, s))
return completions
def _prepare_goto(self, goto_path, is_like_search=False):
"""
Base for completions/goto. Basically it returns the resolved scopes

View File

@@ -81,7 +81,7 @@ class Parser(object):
if self._current[0] in (tokenize.NL, tokenize.NEWLINE):
# we added a newline before, so we need to "remove" it again.
self.end_pos = self._gen.previous[2]
if self._current[0] == tokenize.INDENT:
elif self._current[0] == tokenize.INDENT:
self.end_pos = self._gen.last_previous[2]
self.start_pos = self.module.start_pos

View File

@@ -1,4 +1,4 @@
from jedi import parsing
from jedi.parsing import Parser
from jedi import parsing_representation as pr
def test_user_statement_on_import():
@@ -7,7 +7,17 @@ def test_user_statement_on_import():
" time)"
for pos in [(2, 1), (2, 4)]:
u = parsing.Parser(s, user_position=pos).user_stmt
u = Parser(s, user_position=pos).user_stmt
assert isinstance(u, pr.Import)
assert u.defunct == False
assert [str(n) for n in u.get_defined_names()] == ['time']
def test_name_and_call_positions():
stmt = Parser('name\nsomething_else').module.statements[0]
call = stmt.get_commands()[0]
name = call.name
print call, name
assert str(name) == 'name'
assert name.start_pos == call.start_pos == (1, 0)
assert name.end_pos == call.end_pos == (1, 4)