mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-31 07:04:12 +00:00 
			
		
		
		
	Merge pull request #277 from mcarton/fix-sudo
Fix the pacman rule with `sudo`
This commit is contained in:
		| @@ -23,23 +23,25 @@ extra/vim-python3 7.4.712-1 \t/usr/bin/vim | ||||
| @pytest.mark.skipif(not getattr(pacman, 'enabled_by_default', True), | ||||
|                     reason='Skip if pacman is not available') | ||||
| @pytest.mark.parametrize('command', [ | ||||
|     Command(script='vim', stderr='vim: command not found')]) | ||||
|     Command(script='vim', stderr='vim: command not found'), | ||||
|     Command(script='sudo vim', stderr='sudo: vim: command not found')]) | ||||
| def test_match(command): | ||||
|     assert match(command, None) | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command, return_value', [ | ||||
|     (Command(script='vim', stderr='vim: command not found'), PKGFILE_OUTPUT_VIM)]) | ||||
|     (Command(script='vim', stderr='vim: command not found'), PKGFILE_OUTPUT_VIM), | ||||
|     (Command(script='sudo vim', stderr='sudo: vim: command not found'), PKGFILE_OUTPUT_VIM)]) | ||||
| @patch('thefuck.rules.pacman.subprocess') | ||||
| @patch.multiple(pacman, create=True, pacman=pacman_cmd) | ||||
| def test_match_mocked(subp_mock, command, return_value): | ||||
|     subp_mock.check_output.return_value = return_value | ||||
|     assert match(command, None) | ||||
|     assert subp_mock.check_output.called | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command', [ | ||||
|     Command(script='vim', stderr=''), Command()]) | ||||
|     Command(script='vim', stderr=''), Command(), | ||||
|     Command(script='sudo vim', stderr=''), Command()]) | ||||
| def test_not_match(command): | ||||
|     assert not match(command, None) | ||||
|  | ||||
| @@ -48,19 +50,20 @@ def test_not_match(command): | ||||
|                     reason='Skip if pacman is not available') | ||||
| @pytest.mark.parametrize('command, new_command', [ | ||||
|     (Command('vim'), '{} -S extra/gvim && vim'.format(pacman_cmd)), | ||||
|     (Command('convert'), '{} -S extra/imagemagick && convert'.format(pacman_cmd))]) | ||||
|     (Command('sudo vim'), '{} -S extra/gvim && sudo vim'.format(pacman_cmd)), | ||||
|     (Command('convert'), '{} -S extra/imagemagick && convert'.format(pacman_cmd)), | ||||
|     (Command('sudo convert'), '{} -S extra/imagemagick && sudo convert'.format(pacman_cmd))]) | ||||
| def test_get_new_command(command, new_command, mocker): | ||||
|     assert get_new_command(command, None) == new_command | ||||
|  | ||||
|  | ||||
| @pytest.mark.parametrize('command, new_command, return_value', [ | ||||
|     (Command('vim'), '{} -S extra/gvim && vim'.format(pacman_cmd), | ||||
|         PKGFILE_OUTPUT_VIM), | ||||
|     (Command('convert'), '{} -S extra/imagemagick && convert'.format(pacman_cmd), | ||||
|         PKGFILE_OUTPUT_CONVERT)]) | ||||
|     (Command('vim'), '{} -S extra/gvim && vim'.format(pacman_cmd), PKGFILE_OUTPUT_VIM), | ||||
|     (Command('sudo vim'), '{} -S extra/gvim && sudo vim'.format(pacman_cmd), PKGFILE_OUTPUT_VIM), | ||||
|     (Command('convert'), '{} -S extra/imagemagick && convert'.format(pacman_cmd), PKGFILE_OUTPUT_CONVERT), | ||||
|     (Command('sudo convert'), '{} -S extra/imagemagick && sudo convert'.format(pacman_cmd), PKGFILE_OUTPUT_CONVERT)]) | ||||
| @patch('thefuck.rules.pacman.subprocess') | ||||
| @patch.multiple(pacman, create=True, pacman=pacman_cmd) | ||||
| def test_get_new_command_mocked(subp_mock, command, new_command, return_value): | ||||
|     subp_mock.check_output.return_value = return_value | ||||
|     assert get_new_command(command, None) == new_command | ||||
|     assert subp_mock.check_output.called | ||||
|   | ||||
		Reference in New Issue
	
	Block a user