2016-03-14 18:59:32 -03:00
|
|
|
import pytest
|
|
|
|
from thefuck.rules.git_rm_recursive import match, get_new_command
|
2017-08-31 17:58:56 +02:00
|
|
|
from thefuck.types import Command
|
2016-03-14 18:59:32 -03:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture
|
2017-08-31 17:58:56 +02:00
|
|
|
def output(target):
|
2016-03-14 18:59:32 -03:00
|
|
|
return "fatal: not removing '{}' recursively without -r".format(target)
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('script, target', [
|
|
|
|
('git rm foo', 'foo'),
|
|
|
|
('git rm foo bar', 'foo bar')])
|
2017-08-31 17:58:56 +02:00
|
|
|
def test_match(output, script, target):
|
|
|
|
assert match(Command(script, output))
|
2016-03-14 18:59:32 -03:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('script', ['git rm foo', 'git rm foo bar'])
|
|
|
|
def test_not_match(script):
|
2017-08-31 17:58:56 +02:00
|
|
|
assert not match(Command(script, ''))
|
2016-03-14 18:59:32 -03:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize('script, target, new_command', [
|
|
|
|
('git rm foo', 'foo', 'git rm -r foo'),
|
|
|
|
('git rm foo bar', 'foo bar', 'git rm -r foo bar')])
|
2017-08-31 17:58:56 +02:00
|
|
|
def test_get_new_command(output, script, target, new_command):
|
|
|
|
assert get_new_command(Command(script, output)) == new_command
|