mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-30 22:54:14 +00:00 
			
		
		
		
	| @@ -8,14 +8,15 @@ from thefuck.types import Command | ||||
| from thefuck.corrector import get_corrected_commands, organize_commands | ||||
|  | ||||
|  | ||||
| class TestGetRules(object): | ||||
|     @pytest.fixture | ||||
|     def glob(self, mocker): | ||||
|         results = {} | ||||
|         mocker.patch('thefuck.system.Path.glob', | ||||
|                      new_callable=lambda: lambda *_: results.pop('value', [])) | ||||
|         return lambda value: results.update({'value': value}) | ||||
| @pytest.fixture | ||||
| def glob(mocker): | ||||
|     results = {} | ||||
|     mocker.patch('thefuck.system.Path.glob', | ||||
|                  new_callable=lambda: lambda *_: results.pop('value', [])) | ||||
|     return lambda value: results.update({'value': value}) | ||||
|  | ||||
|  | ||||
| class TestGetRules(object): | ||||
|     @pytest.fixture(autouse=True) | ||||
|     def load_source(self, monkeypatch): | ||||
|         monkeypatch.setattr('thefuck.types.load_source', | ||||
| @@ -39,6 +40,14 @@ class TestGetRules(object): | ||||
|         self._compare_names(rules, loaded_rules) | ||||
|  | ||||
|  | ||||
| def test_get_rules_rule_exception(mocker, glob): | ||||
|     load_source = mocker.patch('thefuck.types.load_source', | ||||
|                                side_effect=ImportError("No module named foo...")) | ||||
|     glob([Path('git.py')]) | ||||
|     assert not corrector.get_rules() | ||||
|     load_source.assert_called_once_with('git', 'git.py') | ||||
|  | ||||
|  | ||||
| def test_get_corrected_commands(mocker): | ||||
|     command = Command('test', 'test') | ||||
|     rules = [Rule(match=lambda _: False), | ||||
|   | ||||
| @@ -45,6 +45,12 @@ class TestCorrectedCommand(object): | ||||
|  | ||||
|  | ||||
| class TestRule(object): | ||||
|     def test_from_path_rule_exception(self, mocker): | ||||
|         load_source = mocker.patch('thefuck.types.load_source', | ||||
|                                    side_effect=ImportError("No module named foo...")) | ||||
|         assert Rule.from_path(Path('git.py')) is None | ||||
|         load_source.assert_called_once_with('git', 'git.py') | ||||
|  | ||||
|     def test_from_path(self, mocker): | ||||
|         match = object() | ||||
|         get_new_command = object() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user