when use config.new(), copy properties and permissives
This commit is contained in:
parent
e41af1fdce
commit
ccf3f0ae06
|
@ -77,9 +77,9 @@ def test_copy_force_store_value():
|
|||
def test_copy_force_store_value_metaconfig():
|
||||
descr = make_description()
|
||||
meta = MetaConfig([], optiondescription=descr)
|
||||
meta.property.read_only()
|
||||
conf = meta.config.new(session_id='conf')
|
||||
assert meta.property.get() == conf.property.get()
|
||||
assert meta.permissive.get() == conf.permissive.get()
|
||||
assert to_tuple(conf.value.exportation()) == (('creole.general.wantref',), (None,), (False,), ('forced',))
|
||||
assert to_tuple(meta.value.exportation()) == (('creole.general.wantref',), (None,), (False,), ('forced',))
|
||||
conf.option('creole.general.wantref').value.set(True)
|
||||
assert to_tuple(conf.value.exportation()) == (('creole.general.wantref',), (None,), (True,), ('user',))
|
||||
assert to_tuple(meta.value.exportation()) == (('creole.general.wantref',), (None,), (False,), ('forced',))
|
||||
|
|
|
@ -1133,6 +1133,10 @@ class KernelMetaConfig(KernelGroupConfig):
|
|||
if config._impl_name in [child._impl_name for child in self._impl_children]: # pragma: no cover
|
||||
raise ConflictError(_('config name must be uniq in '
|
||||
'groupconfig for {0}').format(config._impl_name))
|
||||
# Copy context properties/permissives
|
||||
config.cfgimpl_get_settings().set_context_properties(self.cfgimpl_get_settings().get_context_properties(), config)
|
||||
config.cfgimpl_get_settings().set_context_permissives(self.cfgimpl_get_settings().get_context_permissives())
|
||||
|
||||
config._impl_meta = weakref.ref(self)
|
||||
self._impl_children.append(config)
|
||||
return config
|
||||
|
|
Loading…
Reference in New Issue