mirror of https://github.com/django/django.git
Fix and test for cleaning a non-string value in a URLField
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16747 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
699688dc2c
commit
fe88584589
|
@ -583,6 +583,7 @@ class URLField(CharField):
|
||||||
self.validators.append(validators.URLValidator(verify_exists=verify_exists, validator_user_agent=validator_user_agent))
|
self.validators.append(validators.URLValidator(verify_exists=verify_exists, validator_user_agent=validator_user_agent))
|
||||||
|
|
||||||
def to_python(self, value):
|
def to_python(self, value):
|
||||||
|
value = super(URLField, self).to_python(value)
|
||||||
if value:
|
if value:
|
||||||
url_fields = list(urlparse.urlsplit(value))
|
url_fields = list(urlparse.urlsplit(value))
|
||||||
if not url_fields[0]:
|
if not url_fields[0]:
|
||||||
|
@ -601,7 +602,7 @@ class URLField(CharField):
|
||||||
# the path portion may need to be added before query params
|
# the path portion may need to be added before query params
|
||||||
url_fields[2] = '/'
|
url_fields[2] = '/'
|
||||||
value = urlparse.urlunsplit(url_fields)
|
value = urlparse.urlunsplit(url_fields)
|
||||||
return super(URLField, self).to_python(value)
|
return value
|
||||||
|
|
||||||
class BooleanField(Field):
|
class BooleanField(Field):
|
||||||
widget = CheckboxInput
|
widget = CheckboxInput
|
||||||
|
|
|
@ -686,6 +686,10 @@ class FieldsTests(SimpleTestCase):
|
||||||
url = u'http://t\xfcr.djangoproject.com/'
|
url = u'http://t\xfcr.djangoproject.com/'
|
||||||
self.assertEqual(url, f.clean(url))
|
self.assertEqual(url, f.clean(url))
|
||||||
|
|
||||||
|
def test_urlfield_not_string(self):
|
||||||
|
f = URLField(required=False)
|
||||||
|
self.assertRaisesMessage(ValidationError, "[u'Enter a valid URL.']", f.clean, 23)
|
||||||
|
|
||||||
# BooleanField ################################################################
|
# BooleanField ################################################################
|
||||||
|
|
||||||
def test_booleanfield_1(self):
|
def test_booleanfield_1(self):
|
||||||
|
|
Loading…
Reference in New Issue