import pytest from thefuck.rules.composer_not_command import match, get_new_command from tests.utils import Command @pytest.fixture def composer_not_command(): return """ [InvalidArgumentException] Command "udpate" is not defined. Did you mean this? update """ @pytest.fixture def composer_not_command_one_of_this(): return """ [InvalidArgumentException] Command "pdate" is not defined. Did you mean one of these? selfupdate self-update update """ def test_match(composer_not_command, composer_not_command_one_of_this): assert match(Command('composer udpate', stderr=composer_not_command), None) assert match(Command('composer pdate', stderr=composer_not_command_one_of_this), None) assert not match(Command('ls update', stderr=composer_not_command), None) def test_get_new_command(composer_not_command, composer_not_command_one_of_this): assert get_new_command(Command('composer udpate', stderr=composer_not_command), None) \ == 'composer update' assert get_new_command( Command('composer pdate', stderr=composer_not_command_one_of_this), None) == 'composer selfupdate'