can retrieve metaconfig/mixconfig/config in a metaconfig/mixconfig

This commit is contained in:
2019-06-05 14:37:58 +02:00
parent 07e6ea5eb2
commit aa11e3b79c
3 changed files with 24 additions and 0 deletions

View File

@ -1140,3 +1140,12 @@ def test_metaconfig_force_metaconfig_on_freeze_option():
config.option('dummy1').property.pop('frozen')
assert config.option('dummy1').value.get() == 'config'
assert config.option('dummy1').owner.get() == 'config'
def test_meta_get_config():
od = make_description()
meta = MetaConfig(['name1', 'name2'], optiondescription=od)
meta.config.new('meta1', type='metaconfig')
assert isinstance(meta.config.get('meta1'), MetaConfig)
assert isinstance(meta.config.get('name1'), Config)
raises(ConfigError, "meta.config.get('unknown')")

View File

@ -1129,3 +1129,14 @@ def test_meta_new_mixconfig():
conf = Config(od, session_id='conf1')
meta = MetaConfig([conf])
assert isinstance(meta.config.new('mixconfig', type="mixconfig"), MixConfig)
def test_meta_get_mixconfig():
od = make_description()
conf = Config(od, session_id='conf1')
meta = MetaConfig([conf])
meta.config.new('mixconfig', type="mixconfig")
assert isinstance(meta.config.get('mixconfig'), MixConfig)
raises(ConfigError, "meta.config.get('unknown')")
meta.config.get('mixconfig').config.add(MixConfig(od, [], session_id='mixconfig2'))
assert isinstance(meta.config.get('mixconfig').config.get('mixconfig2'), MixConfig)