mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-04 08:24:40 +01:00
53 lines
1.3 KiB
Python
53 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""Testing built_ins.Aliases"""
|
|
from __future__ import unicode_literals, print_function
|
|
|
|
import os
|
|
|
|
import pytest
|
|
|
|
import xonsh.built_ins as built_ins
|
|
from xonsh.aliases import Aliases
|
|
from xonsh.environ import Env
|
|
|
|
from tools import skip_if_on_windows
|
|
|
|
|
|
def cd(args, stdin=None):
|
|
return args
|
|
|
|
ALIASES = Aliases({'o': ['omg', 'lala']},
|
|
color_ls=['ls', '--color=true'],
|
|
ls="ls '- -'",
|
|
cd=cd,
|
|
indirect_cd='cd ..')
|
|
RAW = ALIASES._raw
|
|
|
|
|
|
def test_imports():
|
|
expected = {
|
|
'o': ['omg', 'lala'],
|
|
'ls': ['ls', '- -'],
|
|
'color_ls': ['ls', '--color=true'],
|
|
'cd': cd,
|
|
'indirect_cd': ['cd', '..']
|
|
}
|
|
assert RAW == expected
|
|
|
|
|
|
def test_eval_normal(xonsh_builtins):
|
|
assert ALIASES.get('o') == ['omg', 'lala']
|
|
|
|
|
|
def test_eval_self_reference(xonsh_builtins):
|
|
assert ALIASES.get('ls') == ['ls', '- -']
|
|
|
|
|
|
def test_eval_recursive(xonsh_builtins):
|
|
assert ALIASES.get('color_ls') == ['ls', '- -', '--color=true']
|
|
|
|
|
|
@skip_if_on_windows
|
|
def test_eval_recursive_callable_partial(xonsh_builtins):
|
|
xonsh_builtins.__xonsh_env__ = Env(HOME=os.path.expanduser('~'))
|
|
assert ALIASES.get('indirect_cd')(['arg2', 'arg3']) == ['..', 'arg2', 'arg3']
|