ca change default properties for a config

This commit is contained in:
2019-02-22 06:55:34 +01:00
parent 04b7d2bbc9
commit fd95c6dd4a
3 changed files with 147 additions and 25 deletions

View File

@ -50,6 +50,74 @@ def test_attribute_access():
assert api.option('string').value.get() == 'foo'
def test_mod_read_only_write():
"default with multi is a list"
s = StrOption("string", "", default=[], default_multi="string", multi=True)
descr = OptionDescription("options", "", [s])
config = Config(descr)
config2 = Config(descr)
assert config.property.getdefault() == {'cache', 'validator', 'warnings'}
assert config.property.getdefault('read_only', 'append') == {'frozen',
'disabled',
'validator',
'everything_frozen',
'mandatory',
'empty',
'force_store_value'}
assert config.property.getdefault('read_only', 'remove') == {'permissive',
'hidden'}
assert config.property.getdefault('read_write', 'append') == {'frozen',
'disabled',
'validator',
'hidden',
'force_store_value'}
assert config.property.getdefault('read_write', 'remove') == {'permissive',
'everything_frozen',
'mandatory',
'empty'}
#
config.property.setdefault({'cache'})
config.property.setdefault(type='read_only', when='append', properties={'disabled'})
config.property.setdefault(type='read_only', when='remove', properties={'hidden'})
config.property.setdefault(type='read_write', when='append', properties={'disabled',
'hidden'})
config.property.setdefault(type='read_write', when='remove', properties=set([]))
assert config.property.getdefault() == {'cache'}
assert config.property.getdefault('read_only', 'append') == {'disabled'}
assert config.property.getdefault('read_only', 'remove') == {'hidden'}
assert config.property.getdefault('read_write', 'append') == {'disabled',
'hidden'}
assert config.property.getdefault('read_write', 'remove') == set([])
#
config.property.read_only()
assert config.property.get() == {'cache', 'disabled'}
config.property.read_write()
assert config.property.get() == {'cache', 'disabled', 'hidden'}
config.property.read_only()
assert config.property.get() == {'cache', 'disabled'}
#
assert config2.property.getdefault() == {'cache', 'validator', 'warnings'}
assert config2.property.getdefault('read_only', 'append') == {'frozen',
'disabled',
'validator',
'everything_frozen',
'mandatory',
'empty',
'force_store_value'}
assert config2.property.getdefault('read_only', 'remove') == {'permissive',
'hidden'}
assert config2.property.getdefault('read_write', 'append') == {'frozen',
'disabled',
'validator',
'hidden',
'force_store_value'}
assert config2.property.getdefault('read_write', 'remove') == {'permissive',
'everything_frozen',
'mandatory',
'empty'}
def test_setitem():
s = StrOption("string", "", default=["string", "sdfsdf"], default_multi="prout", multi=True)
descr = OptionDescription("options", "", [s])