mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-04 08:24:40 +01:00
83 lines
2.1 KiB
Python
83 lines
2.1 KiB
Python
"""Tests the xonsh lexer."""
|
|
from __future__ import unicode_literals, print_function
|
|
import os
|
|
import sys
|
|
|
|
from nose.tools import assert_equal, assert_true
|
|
|
|
from xonsh import built_ins
|
|
from xonsh.built_ins import Env, reglob, regexpath, helper, superhelper
|
|
|
|
def test_env_normal():
|
|
env = Env(VAR='wakka')
|
|
assert_equal('wakka', env['VAR'])
|
|
|
|
def test_env_path_list():
|
|
env = Env(MYPATH=['wakka'])
|
|
assert_equal(['wakka'], env['MYPATH'])
|
|
|
|
def test_env_path_str():
|
|
env = Env(MYPATH='wakka' + os.pathsep + 'jawaka')
|
|
assert_equal(['wakka', 'jawaka'], env['MYPATH'])
|
|
|
|
def test_env_detype():
|
|
env = Env(MYPATH=['wakka', 'jawaka'])
|
|
assert_equal({'MYPATH': 'wakka' + os.pathsep + 'jawaka'}, env.detype())
|
|
|
|
def test_reglob_tests():
|
|
testfiles = reglob('test_.*')
|
|
for f in testfiles:
|
|
assert_true(f.startswith('test_'))
|
|
|
|
def test_repath_home_itself():
|
|
exp = os.path.expanduser('~')
|
|
obs = regexpath('~')
|
|
assert_equal(1, len(obs))
|
|
assert_equal(exp, obs[0])
|
|
|
|
def test_repath_home_contents():
|
|
home = os.path.expanduser('~')
|
|
exp = os.listdir(home)
|
|
exp = {os.path.join(home, p) for p in exp}
|
|
obs = set(regexpath('~/.*'))
|
|
assert_equal(exp, obs)
|
|
|
|
def test_repath_home_var():
|
|
exp = os.path.expanduser('~')
|
|
built_ins.ENV = Env(HOME=exp)
|
|
obs = regexpath('$HOME')
|
|
assert_equal(1, len(os.environ))
|
|
built_ins.ENV.undo_replace_env()
|
|
assert_equal(1, len(obs))
|
|
assert_equal(exp, obs[0])
|
|
|
|
def test_repath_home_var_brace():
|
|
exp = os.path.expanduser('~')
|
|
built_ins.ENV = Env(HOME=exp)
|
|
obs = regexpath('${HOME}')
|
|
assert_equal(1, len(os.environ))
|
|
built_ins.ENV.undo_replace_env()
|
|
assert_equal(1, len(obs))
|
|
assert_equal(exp, obs[0])
|
|
|
|
def test_helper_int():
|
|
helper(int, 'int')
|
|
|
|
def test_helper_helper():
|
|
helper(helper, 'helper')
|
|
|
|
def test_helper_env():
|
|
helper(Env, 'Env')
|
|
|
|
def test_superhelper_int():
|
|
superhelper(int, 'int')
|
|
|
|
def test_superhelper_helper():
|
|
superhelper(helper, 'helper')
|
|
|
|
def test_superhelper_env():
|
|
superhelper(Env, 'Env')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
nose.runmodule()
|