mirror of
				https://github.com/nvbn/thefuck.git
				synced 2025-10-31 15:12:20 +00:00 
			
		
		
		
	Fix the @wrap_settings annotation
It seems much more useful if it only adds settings that are not already set.
This commit is contained in:
		| @@ -11,6 +11,7 @@ def test_rules_names_list(): | ||||
|  | ||||
| def test_update_settings(): | ||||
|     settings = Settings({'key': 'val'}) | ||||
|     new_settings = settings.update(key='new-val') | ||||
|     assert new_settings.key == 'new-val' | ||||
|     new_settings = settings.update(key='new-val', unset='unset-value') | ||||
|     assert new_settings.key == 'val' | ||||
|     assert new_settings.unset == 'unset-value' | ||||
|     assert settings.key == 'val' | ||||
|   | ||||
| @@ -9,7 +9,8 @@ from tests.utils import Command | ||||
|  | ||||
| @pytest.mark.parametrize('override, old, new', [ | ||||
|     ({'key': 'val'}, {}, {'key': 'val'}), | ||||
|     ({'key': 'new-val'}, {'key': 'val'}, {'key': 'new-val'})]) | ||||
|     ({'key': 'new-val'}, {'key': 'val'}, {'key': 'val'}), | ||||
|     ({'key': 'new-val', 'unset': 'unset'}, {'key': 'val'}, {'key': 'val', 'unset': 'unset'})]) | ||||
| def test_wrap_settings(override, old, new): | ||||
|     fn = lambda _, settings: settings | ||||
|     assert wrap_settings(override)(fn)(None, Settings(old)) == new | ||||
|   | ||||
		Reference in New Issue
	
	Block a user