1
0
mirror of https://github.com/nvbn/thefuck.git synced 2025-02-21 20:38:54 +00:00

Merge pull request #492 from scorphus/overridden-aliases

Treat overridden aliases in a better way
This commit is contained in:
Vladimir Iakovlev 2016-04-07 13:09:08 +03:00
commit 95e7d00aec
2 changed files with 17 additions and 12 deletions

View File

@ -19,14 +19,18 @@ class TestFish(object):
return mock return mock
@pytest.fixture @pytest.fixture
def environ(self, monkeypatch): def os_environ(self, monkeypatch, key, value):
data = {'TF_OVERRIDDEN_ALIASES': 'cd, ls, man, open'} monkeypatch.setattr('os.environ', {key: value})
monkeypatch.setattr('thefuck.shells.fish.os.environ', data)
return data
@pytest.mark.usefixture('environ') @pytest.mark.parametrize('key, value', [
def test_get_overridden_aliases(self, shell, environ): ('TF_OVERRIDDEN_ALIASES', 'cut,git,sed'), # legacy
assert shell._get_overridden_aliases() == ['cd', 'ls', 'man', 'open'] ('THEFUCK_OVERRIDDEN_ALIASES', 'cut,git,sed'),
('THEFUCK_OVERRIDDEN_ALIASES', 'cut, git, sed'),
('THEFUCK_OVERRIDDEN_ALIASES', ' cut,\tgit,sed\n'),
('THEFUCK_OVERRIDDEN_ALIASES', '\ncut,\n\ngit,\tsed\r')])
def test_get_overridden_aliases(self, shell, os_environ):
assert shell._get_overridden_aliases() == {'cd', 'cut', 'git', 'grep',
'ls', 'man', 'open', 'sed'}
@pytest.mark.parametrize('before, after', [ @pytest.mark.parametrize('before, after', [
('cd', 'cd'), ('cd', 'cd'),

View File

@ -7,11 +7,12 @@ from .generic import Generic
class Fish(Generic): class Fish(Generic):
def _get_overridden_aliases(self): def _get_overridden_aliases(self):
overridden_aliases = os.environ.get('TF_OVERRIDDEN_ALIASES', '').strip() overridden = os.environ.get('THEFUCK_OVERRIDDEN_ALIASES',
if overridden_aliases: os.environ.get('TF_OVERRIDDEN_ALIASES', ''))
return [alias.strip() for alias in overridden_aliases.split(',')] default = {'cd', 'grep', 'ls', 'man', 'open'}
else: for alias in overridden.split(','):
return ['cd', 'grep', 'ls', 'man', 'open'] default.add(alias.strip())
return default
def app_alias(self, fuck): def app_alias(self, fuck):
# It is VERY important to have the variables declared WITHIN the alias # It is VERY important to have the variables declared WITHIN the alias