mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-30 22:54:14 +00:00 
			
		
		
		
	Merge pull request #452 from scorphus/increase-coverage
Increase coverage
This commit is contained in:
		| @@ -29,12 +29,27 @@ def test_match_mocked(cmdnf_mock, command, return_value): | ||||
|     assert get_packages.called | ||||
|  | ||||
|  | ||||
| # python-commandnotfound is available in ubuntu 14.04+ | ||||
| @pytest.mark.skipif(not getattr(apt_get, 'enabled_by_default', True), | ||||
|                     reason='Skip if python-commandnotfound is not available') | ||||
| @pytest.mark.parametrize('command', [ | ||||
|     Command(script='a_bad_cmd', stderr='a_bad_cmd: command not found'), | ||||
|     Command(script='vim', stderr=''), Command()]) | ||||
| def test_not_match(command): | ||||
|     assert not match(command) | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command, return_value', [ | ||||
|     (Command(script='a_bad_cmd', stderr='a_bad_cmd: command not found'), []), | ||||
|     (Command(script='vim', stderr=''), []), (Command(), [])]) | ||||
| @patch('thefuck.rules.apt_get.CommandNotFound', create=True) | ||||
| @patch.multiple(apt_get, create=True, apt_get='apt_get') | ||||
| def test_not_match_mocked(cmdnf_mock, command, return_value): | ||||
|     get_packages = Mock(return_value=return_value) | ||||
|     cmdnf_mock.CommandNotFound.return_value = Mock(getPackages=get_packages) | ||||
|     assert not match(command) | ||||
|  | ||||
|  | ||||
| # python-commandnotfound is available in ubuntu 14.04+ | ||||
| @pytest.mark.skipif(not getattr(apt_get, 'enabled_by_default', True), | ||||
|                     reason='Skip if python-commandnotfound is not available') | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| import pytest | ||||
| from thefuck.rules.git_checkout import match, get_new_command | ||||
| from io import BytesIO | ||||
| from thefuck.rules.git_checkout import match, get_branches, get_new_command | ||||
| from tests.utils import Command | ||||
|  | ||||
|  | ||||
| @@ -13,8 +14,10 @@ def did_not_match(target, did_you_forget=False): | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| def get_branches(mocker): | ||||
|     return mocker.patch('thefuck.rules.git_checkout.get_branches') | ||||
| def git_branch(mocker, branches): | ||||
|     mock = mocker.patch('subprocess.Popen') | ||||
|     mock.return_value.stdout = BytesIO(branches) | ||||
|     return mock | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command', [ | ||||
| @@ -33,21 +36,34 @@ def test_not_match(command): | ||||
|     assert not match(command) | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('branches, branch_list', [ | ||||
|     (b'', []), | ||||
|     (b'* master', ['master']), | ||||
|     (b'  remotes/origin/master', ['master']), | ||||
|     (b'  just-another-branch', ['just-another-branch']), | ||||
|     (b'* master\n  just-another-branch', ['master', 'just-another-branch']), | ||||
|     (b'* master\n  remotes/origin/master\n  just-another-branch', | ||||
|      ['master', 'master', 'just-another-branch'])]) | ||||
| def test_get_branches(branches, branch_list, git_branch): | ||||
|     git_branch(branches) | ||||
|     assert list(get_branches()) == branch_list | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('branches, command, new_command', [ | ||||
|     ([], | ||||
|     (b'', | ||||
|      Command(script='git checkout unknown', stderr=did_not_match('unknown')), | ||||
|      'git branch unknown && git checkout unknown'), | ||||
|     ([], | ||||
|     (b'', | ||||
|      Command('git commit unknown', stderr=did_not_match('unknown')), | ||||
|      'git branch unknown && git commit unknown'), | ||||
|     (['test-random-branch-123'], | ||||
|     (b'  test-random-branch-123', | ||||
|      Command(script='git checkout tst-rdm-brnch-123', | ||||
|              stderr=did_not_match('tst-rdm-brnch-123')), | ||||
|      'git checkout test-random-branch-123'), | ||||
|     (['test-random-branch-123'], | ||||
|     (b'  test-random-branch-123', | ||||
|      Command(script='git commit tst-rdm-brnch-123', | ||||
|              stderr=did_not_match('tst-rdm-brnch-123')), | ||||
|      'git commit test-random-branch-123')]) | ||||
| def test_get_new_command(branches, command, new_command, get_branches): | ||||
|     get_branches.return_value = branches | ||||
| def test_get_new_command(branches, command, new_command, git_branch): | ||||
|     git_branch(branches) | ||||
|     assert get_new_command(command) == new_command | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| import pytest | ||||
| from io import BytesIO | ||||
| from tests.utils import Command | ||||
| from thefuck.rules.gulp_not_task import match, get_new_command | ||||
|  | ||||
| @@ -22,7 +23,7 @@ def test_not_march(script, stdout): | ||||
|  | ||||
|  | ||||
| def test_get_new_command(mocker): | ||||
|     mocker.patch('thefuck.rules.gulp_not_task.get_gulp_tasks', return_value=[ | ||||
|         'serve', 'build', 'default']) | ||||
|     mock = mocker.patch('subprocess.Popen') | ||||
|     mock.return_value.stdout = BytesIO(b'serve \nbuild \ndefault \n') | ||||
|     command = Command('gulp srve', stdout('srve')) | ||||
|     assert get_new_command(command) == ['gulp serve', 'gulp default'] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user