add some tests for values

cannot use __setitem__ to set value for an option
in append, len should not greater than master option
This commit is contained in:
2013-08-25 18:06:07 +02:00
parent f482737a47
commit 36ed6f874f
6 changed files with 46 additions and 13 deletions

View File

@ -223,7 +223,7 @@ class Settings(object):
return Property(self, self._getproperties(opt, path), opt, path)
def __setitem__(self, opt, value):
raise ValueError('you must only append/remove properties')
raise ValueError('you should only append/remove properties')
def reset(self, opt=None, _path=None, all_properties=False):
if all_properties and (_path or opt):

View File

@ -218,8 +218,7 @@ class Values(object):
return value
def __setitem__(self, opt, value):
path = self._get_opt_path(opt)
self.setitem(opt, value, path)
raise ValueError('you should only set value with config')
def setitem(self, opt, value, path, force_permissive=False,
is_write=True):
@ -409,16 +408,9 @@ class Multi(list):
dvalue = values._getcallback_value(slave, index=index)
else:
dvalue = slave.impl_getdefault_multi()
old_value = values.getitem(slave, path,
validate_properties=False)
if len(old_value) < self.__len__():
values.getitem(slave, path,
validate_properties=False).append(
dvalue, force=True)
else:
values.getitem(slave, path,
validate_properties=False)[
index] = dvalue
values.getitem(slave, path,
validate_properties=False).append(
dvalue, force=True)
def sort(self, cmp=None, key=None, reverse=False):
if self.opt.impl_get_multitype() in [multitypes.slave,