1
0
mirror of https://github.com/nvbn/thefuck.git synced 2024-10-06 10:51:11 +01:00
thefuck/tests/rules/test_git_push.py

36 lines
1.3 KiB
Python
Raw Normal View History

2015-04-08 17:15:49 +01:00
import pytest
from thefuck.rules.git_push import match, get_new_command
from thefuck.types import Command
2015-04-08 17:15:49 +01:00
@pytest.fixture
def output():
2015-04-08 17:15:49 +01:00
return '''fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
'''
def test_match(output):
assert match(Command('git push', output))
assert match(Command('git push master', output))
assert not match(Command('git push master', ''))
assert not match(Command('ls', output))
2015-04-08 17:15:49 +01:00
def test_get_new_command(output):
assert get_new_command(Command('git push', output))\
2015-04-08 17:15:49 +01:00
== "git push --set-upstream origin master"
assert get_new_command(Command('git push master', output))\
== "git push --set-upstream origin master"
assert get_new_command(Command('git push -u', output))\
== "git push --set-upstream origin master"
assert get_new_command(Command('git push -u origin', output))\
== "git push --set-upstream origin master"
assert get_new_command(Command('git push --set-upstream origin', output))\
== "git push --set-upstream origin master"
assert get_new_command(Command('git push --quiet', output))\
== "git push --set-upstream origin master --quiet"