mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-31 07:04:12 +00:00 
			
		
		
		
	* fix: Update output for brew_install test: fixed * chore: fixing flake8 styles * feat: show more suggestions * test: new functions added and multi suggestions * refactor: rename to _get_suggestions
This commit is contained in:
		| @@ -1,17 +1,26 @@ | ||||
| import pytest | ||||
| from thefuck.rules.brew_install import match, get_new_command | ||||
| from thefuck.rules.brew_install import _get_formulas | ||||
| from thefuck.rules.brew_install import match, get_new_command, _get_suggestions | ||||
| from thefuck.types import Command | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| def brew_no_available_formula(): | ||||
|     return '''Error: No available formula for elsticsearch ''' | ||||
| def brew_no_available_formula_one(): | ||||
|     return '''Warning: No available formula with the name "giss". Did you mean gist?''' | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| def brew_no_available_formula_two(): | ||||
|     return '''Warning: No available formula with the name "elasticserar". Did you mean elasticsearch or elasticsearch@6?''' | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| def brew_no_available_formula_three(): | ||||
|     return '''Warning: No available formula with the name "gitt". Did you mean git, gitg or gist?''' | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| def brew_install_no_argument(): | ||||
|     return '''This command requires a formula argument''' | ||||
|     return '''Install a formula or cask. Additional options specific to a formula may be''' | ||||
|  | ||||
|  | ||||
| @pytest.fixture | ||||
| @@ -19,28 +28,38 @@ def brew_already_installed(): | ||||
|     return '''Warning: git-2.3.5 already installed''' | ||||
|  | ||||
|  | ||||
| def _is_not_okay_to_test(): | ||||
|     return 'elasticsearch' not in _get_formulas() | ||||
| def test_suggestions(): | ||||
|     assert _get_suggestions("one") == ['one'] | ||||
|     assert _get_suggestions("one or two") == ['one', 'two'] | ||||
|     assert _get_suggestions("one, two or three") == ['one', 'two', 'three'] | ||||
|  | ||||
|  | ||||
| @pytest.mark.skipif(_is_not_okay_to_test(), | ||||
|                     reason='No need to run if there\'s no formula') | ||||
| def test_match(brew_no_available_formula, brew_already_installed, | ||||
| def test_match(brew_no_available_formula_one, brew_no_available_formula_two, | ||||
|                brew_no_available_formula_three, brew_already_installed, | ||||
|                brew_install_no_argument): | ||||
|     assert match(Command('brew install elsticsearch', | ||||
|                          brew_no_available_formula)) | ||||
|     assert match(Command('brew install giss', | ||||
|                          brew_no_available_formula_one)) | ||||
|     assert match(Command('brew install elasticserar', | ||||
|                          brew_no_available_formula_two)) | ||||
|     assert match(Command('brew install gitt', | ||||
|                          brew_no_available_formula_three)) | ||||
|     assert not match(Command('brew install git', | ||||
|                              brew_already_installed)) | ||||
|     assert not match(Command('brew install', brew_install_no_argument)) | ||||
|  | ||||
|  | ||||
| @pytest.mark.skipif(_is_not_okay_to_test(), | ||||
|                     reason='No need to run if there\'s no formula') | ||||
| def test_get_new_command(brew_no_available_formula): | ||||
|     assert get_new_command(Command('brew install elsticsearch', | ||||
|                                    brew_no_available_formula))\ | ||||
|         == 'brew install elasticsearch' | ||||
| def test_get_new_command(brew_no_available_formula_one, brew_no_available_formula_two, | ||||
|                          brew_no_available_formula_three): | ||||
|     assert get_new_command(Command('brew install giss', | ||||
|                                    brew_no_available_formula_one))\ | ||||
|         == ['brew install gist'] | ||||
|     assert get_new_command(Command('brew install elasticsear', | ||||
|                                    brew_no_available_formula_two))\ | ||||
|         == ['brew install elasticsearch', 'brew install elasticsearch@6'] | ||||
|     assert get_new_command(Command('brew install gitt', | ||||
|                                    brew_no_available_formula_three))\ | ||||
|         == ['brew install git', 'brew install gitg', 'brew install gist'] | ||||
|  | ||||
|     assert get_new_command(Command('brew install aa', | ||||
|                                    brew_no_available_formula))\ | ||||
|                                    brew_no_available_formula_one))\ | ||||
|         != 'brew install aha' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user