mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-31 07:04:12 +00:00 
			
		
		
		
	Merge branch 'git-aliases' of https://github.com/mcarton/thefuck into mcarton-git-aliases
This commit is contained in:
		| @@ -3,15 +3,13 @@ from thefuck.rules.git_diff_staged import match, get_new_command | ||||
| from tests.utils import Command | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command', [ | ||||
|     Command(script='git diff'), | ||||
|     Command(script='git df'), | ||||
|     Command(script='git ds')]) | ||||
| @pytest.mark.parametrize('command', [Command(script='git diff')]) | ||||
| def test_match(command): | ||||
|     assert match(command, None) | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command', [ | ||||
|     Command(script='git diff --staged'), | ||||
|     Command(script='git tag'), | ||||
|     Command(script='git branch'), | ||||
|     Command(script='git log')]) | ||||
| @@ -20,8 +18,6 @@ def test_not_match(command): | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command, new_command', [ | ||||
|     (Command('git diff'), 'git diff --staged'), | ||||
|     (Command('git df'), 'git df --staged'), | ||||
|     (Command('git ds'), 'git ds --staged')]) | ||||
|     (Command('git diff'), 'git diff --staged')]) | ||||
| def test_get_new_command(command, new_command): | ||||
|     assert get_new_command(command, None) == new_command | ||||
|   | ||||
| @@ -3,22 +3,20 @@ from thefuck.rules.git_stash import match, get_new_command | ||||
| from tests.utils import Command | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| def cherry_pick_error(): | ||||
|     return ('error: Your local changes would be overwritten by cherry-pick.\n' | ||||
|             'hint: Commit your changes or stash them to proceed.\n' | ||||
|             'fatal: cherry-pick failed') | ||||
| cherry_pick_error = ( | ||||
|         'error: Your local changes would be overwritten by cherry-pick.\n' | ||||
|         'hint: Commit your changes or stash them to proceed.\n' | ||||
|         'fatal: cherry-pick failed') | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| def rebase_error(): | ||||
|     return ('Cannot rebase: Your index contains uncommitted changes.\n' | ||||
|             'Please commit or stash them.') | ||||
| rebase_error = ( | ||||
|         'Cannot rebase: Your index contains uncommitted changes.\n' | ||||
|         'Please commit or stash them.') | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command', [ | ||||
|     Command(script='git cherry-pick a1b2c3d', stderr=cherry_pick_error()), | ||||
|     Command(script='git rebase -i HEAD~7', stderr=rebase_error())]) | ||||
|     Command(script='git cherry-pick a1b2c3d', stderr=cherry_pick_error), | ||||
|     Command(script='git rebase -i HEAD~7', stderr=rebase_error)]) | ||||
| def test_match(command): | ||||
|     assert match(command, None) | ||||
|  | ||||
|   | ||||
| @@ -77,23 +77,23 @@ class TestGetCommand(object): | ||||
|         monkeypatch.setattr('thefuck.shells.to_shell', lambda x: x) | ||||
|  | ||||
|     def test_get_command_calls(self, Popen): | ||||
|         assert main.get_command(Mock(), | ||||
|         assert main.get_command(Mock(env={}), | ||||
|             ['thefuck', 'apt-get', 'search', 'vim']) \ | ||||
|                == Command('apt-get search vim', 'stdout', 'stderr') | ||||
|         Popen.assert_called_once_with('apt-get search vim', | ||||
|                                       shell=True, | ||||
|                                       stdout=PIPE, | ||||
|                                       stderr=PIPE, | ||||
|                                       env={'LANG': 'C'}) | ||||
|                                       env={}) | ||||
|  | ||||
|     @pytest.mark.parametrize('args, result', [ | ||||
|         (['thefuck', 'ls', '-la'], 'ls -la'), | ||||
|         (['thefuck', 'ls'], 'ls')]) | ||||
|     def test_get_command_script(self, args, result): | ||||
|         if result: | ||||
|             assert main.get_command(Mock(), args).script == result | ||||
|             assert main.get_command(Mock(env={}), args).script == result | ||||
|         else: | ||||
|             assert main.get_command(Mock(), args) is None | ||||
|             assert main.get_command(Mock(env={}), args) is None | ||||
|  | ||||
|  | ||||
| class TestGetMatchedRule(object): | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| import pytest | ||||
| from mock import Mock | ||||
| from thefuck.utils import sudo_support, wrap_settings, memoize, get_closest | ||||
| from thefuck.utils import git_support, sudo_support, wrap_settings, memoize, get_closest | ||||
| from thefuck.types import Settings | ||||
| from tests.utils import Command | ||||
|  | ||||
| @@ -26,6 +26,15 @@ def test_sudo_support(return_value, command, called, result): | ||||
|     fn.assert_called_once_with(Command(called), None) | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('called, command, stderr', [ | ||||
|     ('git co', 'git checkout', "19:22:36.299340 git.c:282   trace: alias expansion: co => 'checkout'"), | ||||
|     ('git com file', 'git commit --verbose file', "19:23:25.470911 git.c:282   trace: alias expansion: com => 'commit' '--verbose'")]) | ||||
| def test_git_support(called, command, stderr): | ||||
|     @git_support | ||||
|     def fn(command, settings): return command.script | ||||
|     assert fn(Command(script=called, stderr=stderr), None) == command | ||||
|  | ||||
|  | ||||
| def test_memoize(): | ||||
|     fn = Mock(__name__='fn') | ||||
|     memoized = memoize(fn) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user