diff --git a/tests/rules/test_pacman.py b/tests/rules/test_pacman.py index 8d719cd..b9742e7 100644 --- a/tests/rules/test_pacman.py +++ b/tests/rules/test_pacman.py @@ -7,6 +7,18 @@ from tests.utils import Command pacman_cmd = getattr(pacman, 'pacman', 'pacman') +PKGFILE_OUTPUT_CONVERT = ''' +extra/imagemagick 6.9.1.0-1\t/usr/bin/convert +''' + +PKGFILE_OUTPUT_VIM = ''' +extra/gvim 7.4.712-1 \t/usr/bin/vim +extra/gvim-python3 7.4.712-1\t/usr/bin/vim +extra/vim 7.4.712-1 \t/usr/bin/vim +extra/vim-minimal 7.4.712-1 \t/usr/bin/vim +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') @@ -17,7 +29,7 @@ def test_match(command): @pytest.mark.parametrize('command, return_value', [ - (Command(script='vim', stderr='vim: command not found'), 'vim foo bar')]) + (Command(script='vim', stderr='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): @@ -35,16 +47,17 @@ def test_not_match(command): @pytest.mark.skipif(not getattr(pacman, 'enabled_by_default', True), reason='Skip if pacman is not available') @pytest.mark.parametrize('command, new_command', [ - (Command('vim'), '{} -S vim && vim'.format(pacman_cmd)), - (Command('convert'), '{} -S imagemagick && convert'.format(pacman_cmd))]) + (Command('vim'), '{} -S extra/gvim && vim'.format(pacman_cmd)), + (Command('convert'), '{} -S extra/imagemagick && 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 vim && vim'.format(pacman_cmd), 'vim foo bar'), - (Command('convert'), '{} -S imagemagick && convert'.format(pacman_cmd), - 'imagemagick foo bar')]) + (Command('vim'), '{} -S extra/gvim && vim'.format(pacman_cmd), + PKGFILE_OUTPUT_VIM), + (Command('convert'), '{} -S extra/imagemagick && 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):