diff --git a/tests/rules/test_grep_recursive.py b/tests/rules/test_grep_recursive.py new file mode 100644 index 00000000..0e3dae1d --- /dev/null +++ b/tests/rules/test_grep_recursive.py @@ -0,0 +1,12 @@ +from thefuck.rules.grep_recursive import match, get_new_command +from tests.utils import Command + + +def test_match(): + assert match(Command('grep blah .', stderr='grep: .: Is a directory'), None) + assert not match(Command(), None) + + +def test_get_new_command(): + assert get_new_command( + Command('grep blah .'), None) == 'grep -r blah .' diff --git a/thefuck/rules/grep_recursive.py b/thefuck/rules/grep_recursive.py new file mode 100644 index 00000000..ed0b6fdb --- /dev/null +++ b/thefuck/rules/grep_recursive.py @@ -0,0 +1,7 @@ +def match(command, settings): + return (command.script.startswith('grep') + and 'is a directory' in command.stderr.lower()) + + +def get_new_command(command, settings): + return 'grep -r {}'.format(command.script[5:])