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:
+3
-2
@@ -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'
|
||||
|
||||
+2
-1
@@ -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