has_callback options cannot be overrided
This commit is contained in:
parent
1ce8d4c098
commit
c70fc04f3a
4 changed files with 9 additions and 2 deletions
|
@ -71,12 +71,16 @@ def test_has_callback():
|
|||
# here the owner is 'default'
|
||||
config = Config(descr, bool=False)
|
||||
# because dummy has a callback
|
||||
dummy = config.unwrap_from_path('gc.dummy')
|
||||
dummy.freeze()
|
||||
raises(TypeError, "config.gc.dummy = True")
|
||||
|
||||
#____________________________________________________________
|
||||
def test_has_callback_with_setoption():
|
||||
descr = make_description()
|
||||
config = Config(descr, bool=False)
|
||||
dummy = config.unwrap_from_path('gc.dummy')
|
||||
dummy.freeze()
|
||||
raises(TypeError, "config.gc.setoption('dummy', True, 'gen_config')")
|
||||
|
||||
def test_cannot_override():
|
||||
|
|
|
@ -101,8 +101,8 @@ def test_group_is_hidden():
|
|||
descr = make_description()
|
||||
config = Config(descr)
|
||||
gc = config.unwrap_from_path('gc')
|
||||
gc.hide()
|
||||
dummy = config.unwrap_from_path('gc.dummy')
|
||||
gc.hide()
|
||||
raises(PropertiesOptionError, "config.gc.dummy")
|
||||
assert gc._is_hidden()
|
||||
raises(PropertiesOptionError, "config.gc.float")
|
||||
|
|
|
@ -39,7 +39,7 @@ def test_root_config_answers_ok():
|
|||
boolop = BoolOption('boolop', 'Test boolean option op', default=True)
|
||||
descr = OptionDescription('tiramisu', '', [gcdummy, boolop])
|
||||
cfg = Config(descr)
|
||||
cfg.cfgimpl_hide()
|
||||
cfg.cfgimpl_enable_property('hiddend') #cfgimpl_hide()
|
||||
assert cfg.dummy == False
|
||||
assert cfg.boolop == True
|
||||
|
||||
|
|
|
@ -337,6 +337,9 @@ class Config(object):
|
|||
else:
|
||||
newowner = who
|
||||
if type(child) != SymLinkOption:
|
||||
if child.has_callback():
|
||||
raise TypeError("trying to set a value to an option "
|
||||
"wich has a callback: {0}".format(name))
|
||||
# if oldowner == who:
|
||||
# oldvalue = getattr(self, name)
|
||||
# if oldvalue == value:
|
||||
|
|
Loading…
Reference in a new issue