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:
@ -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):
|
||||
|
@ -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,
|
||||
|
Reference in New Issue
Block a user