@@ -618,6 +618,9 @@ class TestValidators(unittest.TestCase):
|
|||||||
self.assertEqual(rtn, (u'hell', None))
|
self.assertEqual(rtn, (u'hell', None))
|
||||||
rtn = IS_MATCH('hell', is_unicode=True)(u'hell')
|
rtn = IS_MATCH('hell', is_unicode=True)(u'hell')
|
||||||
self.assertEqual(rtn, (u'hell', None))
|
self.assertEqual(rtn, (u'hell', None))
|
||||||
|
# regr test for #1044
|
||||||
|
rtn = IS_MATCH('hello')(u'\xff')
|
||||||
|
self.assertEqual(rtn, (u'\xff', 'Invalid expression'))
|
||||||
|
|
||||||
|
|
||||||
def test_IS_EQUAL_TO(self):
|
def test_IS_EQUAL_TO(self):
|
||||||
|
|||||||
+7
-4
@@ -201,12 +201,15 @@ class IS_MATCH(Validator):
|
|||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
if self.is_unicode:
|
if self.is_unicode:
|
||||||
if isinstance(value,unicode):
|
if not isinstance(value, unicode):
|
||||||
match = self.regex.search(value)
|
|
||||||
else:
|
|
||||||
match = self.regex.search(str(value).decode('utf8'))
|
match = self.regex.search(str(value).decode('utf8'))
|
||||||
|
else:
|
||||||
|
match = self.regex.search(value)
|
||||||
else:
|
else:
|
||||||
match = self.regex.search(str(value))
|
if not isinstance(value, unicode):
|
||||||
|
match = self.regex.search(str(value))
|
||||||
|
else:
|
||||||
|
match = self.regex.search(value.encode('utf8'))
|
||||||
if match is not None:
|
if match is not None:
|
||||||
return (self.extract and match.group() or value, None)
|
return (self.extract and match.group() or value, None)
|
||||||
return (value, translate(self.error_message))
|
return (value, translate(self.error_message))
|
||||||
|
|||||||
Reference in New Issue
Block a user