xonsh/tests/test_ast.py

35 lines
778 B
Python
Raw Normal View History

2016-06-05 14:32:59 -04:00
"""Xonsh AST tests."""
from nose.tools import assert_equal
from xonsh import ast
from xonsh.ast import Tuple, Name, Store, min_line
from tools import execer_setup, check_parse
def setup():
execer_setup()
2016-06-05 14:32:59 -04:00
def test_gather_names_name():
node = Name(id='y', ctx=Store())
exp = {'y'}
obs = ast.gather_names(node)
assert_equal(exp, obs)
def test_gather_names_tuple():
node = Tuple(elts=[Name(id='y', ctx=Store()),
Name(id='z', ctx=Store())])
exp = {'y', 'z'}
obs = ast.gather_names(node)
assert_equal(exp, obs)
def test_multilline_num():
code = ('x = 1\n'
'ls -l\n') # this second line wil be transformed
tree = check_parse(code)
lsnode = tree.body[1]
assert_equal(2, min_line(lsnode))