fix ValidationMixin instantiation with no default

with tests. fixes #69
This commit is contained in:
Sławek Ehlert 2014-10-30 23:44:48 +01:00
parent 7af6d9e7c5
commit 8d366fca44
2 changed files with 10 additions and 1 deletions

View file

@ -266,7 +266,8 @@ class ValidationMixin(object):
else:
raise ValueError('Cannot use validator of '
'{0} ({1!r})'.format(self, self.validator))
self.to_python(self.default)
if self.default:
self.to_python(self.default)
def to_python(self, value):
try:

View file

@ -215,6 +215,14 @@ class ValueTests(TestCase):
with env(DJANGO_TEST='httb://spam.eggs'):
self.assertRaises(ValueError, value.setup, 'TEST')
def test_url_values_with_no_default(self):
value = URLValue() # no default
with env(DJANGO_TEST='http://spam.eggs'):
self.assertEqual(value.setup('TEST'), 'http://spam.eggs')
def test_url_values_with_wrong_default(self):
self.assertRaises(ValueError, URLValue, 'httb://spam.eggs')
def test_ip_values(self):
value = IPValue('0.0.0.0')
with env(DJANGO_TEST='127.0.0.1'):