1
0
mirror of https://github.com/nvbn/thefuck.git synced 2025-01-31 02:01:13 +00:00

#N/A: Fix tests with py.test 4

This commit is contained in:
Vladimir Iakovlev 2018-11-21 19:43:01 +01:00
parent 81b05b9f88
commit 5b3350b2dd
4 changed files with 15 additions and 22 deletions

View File

@ -4,7 +4,6 @@ from thefuck.rules.git_checkout import match, get_branches, get_new_command
from thefuck.types import Command from thefuck.types import Command
@pytest.fixture
def did_not_match(target, did_you_forget=False): def did_not_match(target, did_you_forget=False):
error = ("error: pathspec '{}' did not match any " error = ("error: pathspec '{}' did not match any "
"file(s) known to git.".format(target)) "file(s) known to git.".format(target))

View File

@ -3,24 +3,22 @@ from thefuck.rules.git_merge import match, get_new_command
from thefuck.types import Command from thefuck.types import Command
@pytest.fixture output = 'merge: local - not something we can merge\n\n' \
def output(): 'Did you mean this?\n\tremote/local'
return 'merge: local - not something we can merge\n\n' \
'Did you mean this?\n\tremote/local'
def test_match(output): def test_match():
assert match(Command('git merge test', output)) assert match(Command('git merge test', output))
assert not match(Command('git merge master', '')) assert not match(Command('git merge master', ''))
assert not match(Command('ls', output)) assert not match(Command('ls', output))
@pytest.mark.parametrize('command, new_command', [ @pytest.mark.parametrize('command, new_command', [
(Command('git merge local', output()), (Command('git merge local', output),
'git merge remote/local'), 'git merge remote/local'),
(Command('git merge -m "test" local', output()), (Command('git merge -m "test" local', output),
'git merge -m "test" remote/local'), 'git merge -m "test" remote/local'),
(Command('git merge -m "test local" local', output()), (Command('git merge -m "test local" local', output),
'git merge -m "test local" remote/local')]) 'git merge -m "test local" remote/local')])
def test_get_new_command(command, new_command): def test_get_new_command(command, new_command):
assert get_new_command(command) == new_command assert get_new_command(command) == new_command

View File

@ -3,23 +3,21 @@ from thefuck.rules.git_merge_unrelated import match, get_new_command
from thefuck.types import Command from thefuck.types import Command
@pytest.fixture output = 'fatal: refusing to merge unrelated histories'
def output():
return 'fatal: refusing to merge unrelated histories'
def test_match(output): def test_match():
assert match(Command('git merge test', output)) assert match(Command('git merge test', output))
assert not match(Command('git merge master', '')) assert not match(Command('git merge master', ''))
assert not match(Command('ls', output)) assert not match(Command('ls', output))
@pytest.mark.parametrize('command, new_command', [ @pytest.mark.parametrize('command, new_command', [
(Command('git merge local', output()), (Command('git merge local', output),
'git merge local --allow-unrelated-histories'), 'git merge local --allow-unrelated-histories'),
(Command('git merge -m "test" local', output()), (Command('git merge -m "test" local', output),
'git merge -m "test" local --allow-unrelated-histories'), 'git merge -m "test" local --allow-unrelated-histories'),
(Command('git merge -m "test local" local', output()), (Command('git merge -m "test local" local', output),
'git merge -m "test local" local --allow-unrelated-histories')]) 'git merge -m "test local" local --allow-unrelated-histories')])
def test_get_new_command(command, new_command): def test_get_new_command(command, new_command):
assert get_new_command(command) == new_command assert get_new_command(command) == new_command

View File

@ -3,9 +3,7 @@ from thefuck.rules.touch import match, get_new_command
from thefuck.types import Command from thefuck.types import Command
@pytest.fixture
def output(is_bsd): def output(is_bsd):
print(is_bsd)
if is_bsd: if is_bsd:
return "touch: /a/b/c: No such file or directory" return "touch: /a/b/c: No such file or directory"
return "touch: cannot touch '/a/b/c': No such file or directory" return "touch: cannot touch '/a/b/c': No such file or directory"
@ -14,8 +12,8 @@ def output(is_bsd):
@pytest.mark.parametrize('script, is_bsd', [ @pytest.mark.parametrize('script, is_bsd', [
('touch /a/b/c', False), ('touch /a/b/c', False),
('touch /a/b/c', True)]) ('touch /a/b/c', True)])
def test_match(script, is_bsd, output): def test_match(script, is_bsd):
command = Command(script, output) command = Command(script, output(is_bsd))
assert match(command) assert match(command)
@ -29,7 +27,7 @@ def test_not_match(command):
@pytest.mark.parametrize('script, is_bsd', [ @pytest.mark.parametrize('script, is_bsd', [
('touch /a/b/c', False), ('touch /a/b/c', False),
('touch /a/b/c', True)]) ('touch /a/b/c', True)])
def test_get_new_command(script, is_bsd, output): def test_get_new_command(script, is_bsd):
command = Command(script, output) command = Command(script, output(is_bsd))
fixed_command = get_new_command(command) fixed_command = get_new_command(command)
assert fixed_command == 'mkdir -p /a/b && touch /a/b/c' assert fixed_command == 'mkdir -p /a/b && touch /a/b/c'