From 36d9e13eceb9a3c9cb7037440538815983fa327b Mon Sep 17 00:00:00 2001 From: nvbn Date: Mon, 20 Apr 2015 15:46:02 +0200 Subject: [PATCH] #55 Add tests and check for `command not found` --- tests/rules/test_has_exists_script.py | 20 ++++++++++++++++++++ thefuck/rules/has_exists_script.py | 6 ++++-- 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 tests/rules/test_has_exists_script.py diff --git a/tests/rules/test_has_exists_script.py b/tests/rules/test_has_exists_script.py new file mode 100644 index 00000000..36938be2 --- /dev/null +++ b/tests/rules/test_has_exists_script.py @@ -0,0 +1,20 @@ +from mock import Mock, patch +from thefuck.rules. has_exists_script import match, get_new_command + + +def test_match(): + with patch('os.path.exists', return_value=True): + assert match(Mock(script='main', stderr='main: command not found'), + None) + assert match(Mock(script='main --help', + stderr='main: command not found'), + None) + assert not match(Mock(script='main', stderr=''), None) + + with patch('os.path.exists', return_value=False): + assert not match(Mock(script='main', stderr='main: command not found'), + None) + + +def test_get_new_command(): + assert get_new_command(Mock(script='main --help'), None) == './main --help' diff --git a/thefuck/rules/has_exists_script.py b/thefuck/rules/has_exists_script.py index 7b5dab4c..522dd8eb 100644 --- a/thefuck/rules/has_exists_script.py +++ b/thefuck/rules/has_exists_script.py @@ -1,8 +1,10 @@ import os + def match(command, settings): - exist = os.path.exists(command.script) - return exist + return os.path.exists(command.script.split()[0]) \ + and 'command not found' in command.stderr + def get_new_command(command, settings): return './{}'.format(command.script)