cannot append properties for option with forbidden_set_properties
This commit is contained in:
@ -429,3 +429,45 @@ def test_properties_cached():
|
||||
option
|
||||
c._setattr('sub.b1', True, force_permissive=True)
|
||||
assert str(setting[b1]) in ["['test']", "[u'test']"]
|
||||
|
||||
|
||||
|
||||
def test_append_properties_force_store_value():
|
||||
gcdummy = BoolOption('dummy', 'dummy', default=False, properties=('force_store_value',))
|
||||
gcgroup = OptionDescription('gc', '', [gcdummy])
|
||||
descr = OptionDescription('tiramisu', '', [gcgroup])
|
||||
cfg = Config(descr)
|
||||
setting = cfg.cfgimpl_get_settings()
|
||||
option = cfg.cfgimpl_get_description().gc.dummy
|
||||
assert tuple(option._properties) == tuple(['force_store_value'])
|
||||
assert not 'test' in setting[option]
|
||||
setting[option].append('test')
|
||||
assert tuple(option._properties) == tuple(['force_store_value'])
|
||||
assert 'test' in setting[option]
|
||||
|
||||
|
||||
def test_reset_properties_force_store_value():
|
||||
gcdummy = BoolOption('dummy', 'dummy', default=False, properties=('force_store_value',))
|
||||
gcgroup = OptionDescription('gc', '', [gcdummy])
|
||||
descr = OptionDescription('tiramisu', '', [gcgroup])
|
||||
cfg = Config(descr)
|
||||
setting = cfg.cfgimpl_get_settings()
|
||||
option = cfg.cfgimpl_get_description().gc.dummy
|
||||
assert setting._p_.get_modified_properties() == {}
|
||||
setting.append('frozen')
|
||||
assert setting._p_.get_modified_properties() == {None: set(('frozen', 'expire', 'cache', 'validator', 'warnings'))}
|
||||
setting.reset()
|
||||
assert setting._p_.get_modified_properties() == {}
|
||||
setting[option].append('test')
|
||||
assert setting._p_.get_modified_properties() == {'gc.dummy': set(('test', 'force_store_value'))}
|
||||
setting.reset()
|
||||
assert setting._p_.get_modified_properties() == {'gc.dummy': set(('test', 'force_store_value'))}
|
||||
setting.append('frozen')
|
||||
assert setting._p_.get_modified_properties() == {None: set(('frozen', 'expire', 'validator', 'cache', 'warnings')), 'gc.dummy': set(('test', 'force_store_value'))}
|
||||
setting.reset(option)
|
||||
assert setting._p_.get_modified_properties() == {None: set(('frozen', 'expire', 'validator', 'cache', 'warnings'))}
|
||||
setting[option].append('test')
|
||||
assert setting._p_.get_modified_properties() == {None: set(('frozen', 'expire', 'validator', 'cache', 'warnings')), 'gc.dummy': set(('test', 'force_store_value'))}
|
||||
setting.reset(all_properties=True)
|
||||
assert setting._p_.get_modified_properties() == {}
|
||||
raises(ValueError, 'setting.reset(all_properties=True, opt=option)')
|
||||
|
Reference in New Issue
Block a user