- can reset directly custom settings for an option: setting[option].reset()
- option properties are now tuple in internal, and change it to set when needed (that coping data)
This commit is contained in:
@ -308,3 +308,59 @@ def test_access_by_get_whith_hide():
|
||||
c = Config(descr)
|
||||
c.read_write()
|
||||
raises(AttributeError, "c.find(byname='b1')")
|
||||
|
||||
|
||||
def test_append_properties():
|
||||
descr = make_description()
|
||||
cfg = Config(descr)
|
||||
setting = cfg.cfgimpl_get_settings()
|
||||
option = cfg.cfgimpl_get_description().gc.dummy
|
||||
assert option._properties == tuple()
|
||||
assert not 'test' in setting[option]
|
||||
setting[option].append('test')
|
||||
assert option._properties == tuple()
|
||||
assert 'test' in setting[option]
|
||||
|
||||
|
||||
def test_reset_properties():
|
||||
descr = make_description()
|
||||
cfg = Config(descr)
|
||||
setting = cfg.cfgimpl_get_settings()
|
||||
option = cfg.cfgimpl_get_description().gc.dummy
|
||||
assert setting._properties == {}
|
||||
setting.append('frozen')
|
||||
assert setting._properties == {None: set(('frozen', 'expire', 'validator'))}
|
||||
setting.reset()
|
||||
assert setting._properties == {}
|
||||
setting[option].append('test')
|
||||
assert setting._properties == {option: set(('test',))}
|
||||
setting.reset()
|
||||
assert setting._properties == {option: set(('test',))}
|
||||
setting.append('frozen')
|
||||
assert setting._properties == {None: set(('frozen', 'expire', 'validator')), option: set(('test',))}
|
||||
setting.reset(option)
|
||||
assert setting._properties == {None: set(('frozen', 'expire', 'validator'))}
|
||||
setting[option].append('test')
|
||||
assert setting._properties == {None: set(('frozen', 'expire', 'validator')), option: set(('test',))}
|
||||
setting.reset(all_properties=True)
|
||||
assert setting._properties == {}
|
||||
raises(ValueError, 'setting.reset(all_properties=True, opt=option)')
|
||||
|
||||
|
||||
def test_reset_multiple():
|
||||
descr = make_description()
|
||||
cfg = Config(descr)
|
||||
setting = cfg.cfgimpl_get_settings()
|
||||
option = cfg.cfgimpl_get_description().gc.dummy
|
||||
setting.append('frozen')
|
||||
setting[option].append('test')
|
||||
setting.reset()
|
||||
setting.reset()
|
||||
setting.append('frozen')
|
||||
setting[option].append('test')
|
||||
setting.reset(option)
|
||||
setting.reset(option)
|
||||
setting.append('frozen')
|
||||
setting[option].append('test')
|
||||
setting.reset(all_properties=True)
|
||||
setting.reset(all_properties=True)
|
||||
|
Reference in New Issue
Block a user