force_metaconfig_on_freeze in option (not in config)
This commit is contained in:
@ -14,6 +14,7 @@ def teardown_function(function):
|
||||
assert list_sessions() == [], 'session list is not empty when leaving "{}"'.format(function.__name__)
|
||||
|
||||
|
||||
owners.addowner('config')
|
||||
owners.addowner('meta1')
|
||||
owners.addowner('meta2')
|
||||
|
||||
@ -975,10 +976,49 @@ def test_meta_properties_meta_set_value():
|
||||
|
||||
|
||||
def test_metaconfig_force_metaconfig_on_freeze():
|
||||
dummy1 = StrOption('dummy1', 'doc dummy', default='default', properties=('force_metaconfig_on_freeze',))
|
||||
group = OptionDescription('group', '', [dummy1])
|
||||
config = Config(group, session_id='config')
|
||||
config.owner.set(owners.config)
|
||||
meta1 = MetaConfig([config], session_id='meta1')
|
||||
meta1.owner.set(owners.meta1)
|
||||
meta2 = MetaConfig([meta1], session_id='meta2')
|
||||
meta2.owner.set(owners.meta2)
|
||||
config.property.read_write()
|
||||
|
||||
config.option('dummy1').property.add('frozen')
|
||||
#
|
||||
assert config.option('dummy1').value.get() == 'default'
|
||||
assert config.option('dummy1').owner.get() == 'default'
|
||||
#
|
||||
meta2.option('dummy1').value.set('meta2')
|
||||
#
|
||||
assert config.option('dummy1').value.get() == 'meta2'
|
||||
assert config.option('dummy1').owner.get() == 'meta2'
|
||||
#
|
||||
config.option('dummy1').property.pop('frozen')
|
||||
config.option('dummy1').value.set('config')
|
||||
config.option('dummy1').property.add('frozen')
|
||||
#
|
||||
assert config.option('dummy1').value.get() == 'meta2'
|
||||
assert config.option('dummy1').owner.get() == 'meta2'
|
||||
#
|
||||
meta1.option('dummy1').value.set('meta1')
|
||||
#
|
||||
assert config.option('dummy1').value.get() == 'meta1'
|
||||
assert config.option('dummy1').owner.get() == 'meta1'
|
||||
#
|
||||
config.option('dummy1').property.pop('frozen')
|
||||
assert config.option('dummy1').value.get() == 'config'
|
||||
assert config.option('dummy1').owner.get() == 'config'
|
||||
|
||||
|
||||
def test_metaconfig_force_metaconfig_on_freeze_option():
|
||||
dummy1 = StrOption('dummy1', 'doc dummy', default='default')
|
||||
dummy2 = StrOption('dummy2', 'doc dummy', default='default', properties=('force_default_on_freeze',))
|
||||
group = OptionDescription('group', '', [dummy1, dummy2])
|
||||
config = Config(group)
|
||||
config = Config(group, session_id='config')
|
||||
config.owner.set(owners.config)
|
||||
meta1 = MetaConfig([config], session_id='meta1')
|
||||
meta1.owner.set(owners.meta1)
|
||||
meta2 = MetaConfig([meta1], session_id='meta2')
|
||||
@ -1033,3 +1073,7 @@ def test_metaconfig_force_metaconfig_on_freeze():
|
||||
meta1.option('dummy1').property.pop('force_metaconfig_on_freeze')
|
||||
assert config.option('dummy1').value.get() == 'meta1'
|
||||
assert config.option('dummy1').owner.get() == 'meta1'
|
||||
#
|
||||
config.option('dummy1').property.pop('frozen')
|
||||
assert config.option('dummy1').value.get() == 'config'
|
||||
assert config.option('dummy1').owner.get() == 'config'
|
||||
|
Reference in New Issue
Block a user