add requires test
This commit is contained in:
@ -149,19 +149,20 @@ class Base(object):
|
||||
calc_properties = frozenset()
|
||||
requires = undefined
|
||||
if properties is None:
|
||||
properties = tuple()
|
||||
properties = frozenset()
|
||||
if isinstance(properties, tuple):
|
||||
properties = frozenset(properties)
|
||||
if is_multi and 'empty' not in properties:
|
||||
properties = tuple(list(properties) + ['empty'])
|
||||
if not isinstance(properties, tuple):
|
||||
properties = properties | {'empty'}
|
||||
if not isinstance(properties, frozenset):
|
||||
raise TypeError(_('invalid properties type {0} for {1},'
|
||||
' must be a tuple').format(type(properties),
|
||||
' must be a frozenset').format(type(properties),
|
||||
name))
|
||||
if calc_properties != frozenset([]) and properties is not tuple():
|
||||
set_forbidden_properties = calc_properties & set(properties)
|
||||
if calc_properties != frozenset([]) and properties:
|
||||
set_forbidden_properties = calc_properties & properties
|
||||
if set_forbidden_properties != frozenset():
|
||||
raise ValueError('conflict: properties already set in '
|
||||
'requirement {0}'.format(
|
||||
list(set_forbidden_properties)))
|
||||
raise ValueError(_('conflict: properties already set in '
|
||||
'requirement {0}').format(list(set_forbidden_properties)))
|
||||
_setattr = object.__setattr__
|
||||
_setattr(self, '_name', name)
|
||||
_setattr(self, '_informations', {'doc': doc})
|
||||
|
Reference in New Issue
Block a user