|
|
|
@ -37,6 +37,13 @@ def make_description():
|
|
|
|
|
return descr
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _is_same_opt(opt1, opt2):
|
|
|
|
|
if "id" in dir(opt1):
|
|
|
|
|
assert opt1.id == opt2.id
|
|
|
|
|
else:
|
|
|
|
|
assert opt1 == opt2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_iter_config():
|
|
|
|
|
"iteration on config object"
|
|
|
|
|
s = StrOption("string", "", default="string")
|
|
|
|
@ -133,38 +140,70 @@ def test_find_in_config():
|
|
|
|
|
conf = Config(descr)
|
|
|
|
|
conf.read_only()
|
|
|
|
|
conf.cfgimpl_get_settings().setpermissive(('hidden',))
|
|
|
|
|
assert conf.find(byname='dummy') == [conf.unwrap_from_path('gc.dummy')]
|
|
|
|
|
assert conf.find(byname='float') == [conf.unwrap_from_path('gc.float'), conf.unwrap_from_path('float')]
|
|
|
|
|
assert conf.find_first(byname='bool') == conf.unwrap_from_path('gc.gc2.bool')
|
|
|
|
|
assert conf.find_first(byname='bool', byvalue=True) == conf.unwrap_from_path('bool')
|
|
|
|
|
assert conf.find_first(byname='dummy') == conf.unwrap_from_path('gc.dummy')
|
|
|
|
|
assert conf.find_first(byname='float') == conf.unwrap_from_path('gc.float')
|
|
|
|
|
assert conf.find(bytype=ChoiceOption) == [conf.unwrap_from_path('gc.name'), conf.unwrap_from_path('objspace')]
|
|
|
|
|
assert conf.find_first(bytype=ChoiceOption) == conf.unwrap_from_path('gc.name')
|
|
|
|
|
assert conf.find(byvalue='ref') == [conf.unwrap_from_path('gc.name')]
|
|
|
|
|
assert conf.find_first(byvalue='ref') == conf.unwrap_from_path('gc.name')
|
|
|
|
|
assert conf.find(byname='prop') == [conf.unwrap_from_path('gc.prop')]
|
|
|
|
|
ret = conf.find(byname='dummy')
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.dummy'))
|
|
|
|
|
ret = conf.find(byname='float')
|
|
|
|
|
assert len(ret) == 2
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.float'))
|
|
|
|
|
_is_same_opt(ret[1], conf.unwrap_from_path('float'))
|
|
|
|
|
_is_same_opt(conf.find_first(byname='bool'), conf.unwrap_from_path('gc.gc2.bool'))
|
|
|
|
|
_is_same_opt(conf.find_first(byname='bool', byvalue=True), conf.unwrap_from_path('bool'))
|
|
|
|
|
_is_same_opt(conf.find_first(byname='dummy'), conf.unwrap_from_path('gc.dummy'))
|
|
|
|
|
_is_same_opt(conf.find_first(byname='float'), conf.unwrap_from_path('gc.float'))
|
|
|
|
|
ret = conf.find(bytype=ChoiceOption)
|
|
|
|
|
assert len(ret) == 2
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.name'))
|
|
|
|
|
_is_same_opt(ret[1], conf.unwrap_from_path('objspace'))
|
|
|
|
|
_is_same_opt(conf.find_first(bytype=ChoiceOption), conf.unwrap_from_path('gc.name'))
|
|
|
|
|
ret = conf.find(byvalue='ref')
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.name'))
|
|
|
|
|
_is_same_opt(conf.find_first(byvalue='ref'), conf.unwrap_from_path('gc.name'))
|
|
|
|
|
ret = conf.find(byname='prop')
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.prop'))
|
|
|
|
|
conf.read_write()
|
|
|
|
|
raises(AttributeError, "assert conf.find(byname='prop')")
|
|
|
|
|
assert conf.find(byname='prop', check_properties=False) == [conf.unwrap_from_path('gc.gc2.prop'), conf.unwrap_from_path('gc.prop')]
|
|
|
|
|
assert conf.find(byname='prop', force_permissive=True) == [conf.unwrap_from_path('gc.prop')]
|
|
|
|
|
assert conf.find_first(byname='prop', force_permissive=True) == conf.unwrap_from_path('gc.prop')
|
|
|
|
|
ret = conf.find(byname='prop', check_properties=False)
|
|
|
|
|
assert len(ret) == 2
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.gc2.prop'))
|
|
|
|
|
_is_same_opt(ret[1], conf.unwrap_from_path('gc.prop'))
|
|
|
|
|
ret = conf.find(byname='prop', force_permissive=True)
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.prop'))
|
|
|
|
|
_is_same_opt(conf.find_first(byname='prop', force_permissive=True), conf.unwrap_from_path('gc.prop'))
|
|
|
|
|
#assert conf.find_first(byname='prop') == conf.unwrap_from_path('gc.prop')
|
|
|
|
|
# combinaison of filters
|
|
|
|
|
assert conf.find(bytype=BoolOption, byname='dummy') == [conf.unwrap_from_path('gc.dummy')]
|
|
|
|
|
assert conf.find_first(bytype=BoolOption, byname='dummy') == conf.unwrap_from_path('gc.dummy')
|
|
|
|
|
assert conf.find(byvalue=False, byname='dummy') == [conf.unwrap_from_path('gc.dummy')]
|
|
|
|
|
assert conf.find_first(byvalue=False, byname='dummy') == conf.unwrap_from_path('gc.dummy')
|
|
|
|
|
ret = conf.find(bytype=BoolOption, byname='dummy')
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.dummy'))
|
|
|
|
|
_is_same_opt(conf.find_first(bytype=BoolOption, byname='dummy'), conf.unwrap_from_path('gc.dummy'))
|
|
|
|
|
ret = conf.find(byvalue=False, byname='dummy')
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.dummy'))
|
|
|
|
|
_is_same_opt(conf.find_first(byvalue=False, byname='dummy'), conf.unwrap_from_path('gc.dummy'))
|
|
|
|
|
#subconfig
|
|
|
|
|
assert conf.gc.find(byname='dummy') == [conf.unwrap_from_path('gc.dummy')]
|
|
|
|
|
assert conf.gc.find(byname='float') == [conf.unwrap_from_path('gc.float')]
|
|
|
|
|
assert conf.gc.find(byname='bool') == [conf.unwrap_from_path('gc.gc2.bool')]
|
|
|
|
|
assert conf.gc.find_first(byname='bool', byvalue=False) == conf.unwrap_from_path('gc.gc2.bool')
|
|
|
|
|
ret = conf.gc.find(byname='dummy')
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.dummy'))
|
|
|
|
|
ret = conf.gc.find(byname='float')
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.float'))
|
|
|
|
|
ret = conf.gc.find(byname='bool')
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.gc2.bool'))
|
|
|
|
|
_is_same_opt(conf.gc.find_first(byname='bool', byvalue=False), conf.unwrap_from_path('gc.gc2.bool'))
|
|
|
|
|
raises(AttributeError, "assert conf.gc.find_first(byname='bool', byvalue=True)")
|
|
|
|
|
raises(AttributeError, "conf.gc.find(byname='wantref').first()")
|
|
|
|
|
assert conf.gc.find(byname='prop', check_properties=False) == [conf.unwrap_from_path('gc.gc2.prop'), conf.unwrap_from_path('gc.prop')]
|
|
|
|
|
ret = conf.gc.find(byname='prop', check_properties=False)
|
|
|
|
|
assert len(ret) == 2
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.gc2.prop'))
|
|
|
|
|
_is_same_opt(ret[1], conf.unwrap_from_path('gc.prop'))
|
|
|
|
|
conf.read_only()
|
|
|
|
|
assert conf.gc.find(byname='prop') == [conf.unwrap_from_path('gc.prop')]
|
|
|
|
|
ret = conf.gc.find(byname='prop')
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], conf.unwrap_from_path('gc.prop'))
|
|
|
|
|
# not OptionDescription
|
|
|
|
|
raises(AttributeError, "conf.find_first(byname='gc')")
|
|
|
|
|
raises(AttributeError, "conf.gc.find_first(byname='gc2')")
|
|
|
|
@ -184,8 +223,10 @@ def test_find_multi():
|
|
|
|
|
raises(AttributeError, "conf.find(byvalue=True)")
|
|
|
|
|
raises(AttributeError, "conf.find_first(byvalue=True)")
|
|
|
|
|
conf.bool.append(True)
|
|
|
|
|
assert conf.find(byvalue=True) == [b]
|
|
|
|
|
assert conf.find_first(byvalue=True) == b
|
|
|
|
|
ret = conf.find(byvalue=True)
|
|
|
|
|
assert len(ret) == 1
|
|
|
|
|
_is_same_opt(ret[0], b)
|
|
|
|
|
_is_same_opt(conf.find_first(byvalue=True), b)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_does_not_find_in_config():
|
|
|
|
|