Complete coverage for IS_IN_SET
Removed unreachable code in IS_IN_SET
if failures and self.theset:
if self.multiple and (value is None or value == '')
It's impossible to have *failures* and have value be None or '' at the same time
This commit is contained in:
@@ -184,6 +184,10 @@ class TestValidators(unittest.TestCase):
|
|||||||
self.assertEqual(rtn, ('id1', None))
|
self.assertEqual(rtn, ('id1', None))
|
||||||
rtn = IS_IN_SET(['id1', 'id2'], error_message='oops', multiple=True)(None)
|
rtn = IS_IN_SET(['id1', 'id2'], error_message='oops', multiple=True)(None)
|
||||||
self.assertEqual(rtn, ([], None))
|
self.assertEqual(rtn, ([], None))
|
||||||
|
rtn = IS_IN_SET(['id1', 'id2'], error_message='oops', multiple=True)('')
|
||||||
|
self.assertEqual(rtn, ([], None))
|
||||||
|
rtn = IS_IN_SET(['id1', 'id2'], error_message='oops', multiple=True)('id1')
|
||||||
|
self.assertEqual(rtn, (['id1'], None))
|
||||||
rtn = IS_IN_SET(['id1', 'id2'], error_message='oops', multiple=(1,2))(None)
|
rtn = IS_IN_SET(['id1', 'id2'], error_message='oops', multiple=(1,2))(None)
|
||||||
self.assertEqual(rtn, ([], 'oops'))
|
self.assertEqual(rtn, ([], 'oops'))
|
||||||
import itertools
|
import itertools
|
||||||
|
|||||||
@@ -471,8 +471,6 @@ class IS_IN_SET(Validator):
|
|||||||
thestrset = [str(x) for x in self.theset]
|
thestrset = [str(x) for x in self.theset]
|
||||||
failures = [x for x in values if not str(x) in thestrset]
|
failures = [x for x in values if not str(x) in thestrset]
|
||||||
if failures and self.theset:
|
if failures and self.theset:
|
||||||
if self.multiple and (value is None or value == ''):
|
|
||||||
return ([], None)
|
|
||||||
return (value, translate(self.error_message))
|
return (value, translate(self.error_message))
|
||||||
if self.multiple:
|
if self.multiple:
|
||||||
if isinstance(self.multiple, (tuple, list)) and \
|
if isinstance(self.multiple, (tuple, list)) and \
|
||||||
|
|||||||
Reference in New Issue
Block a user