[1.0.X] Fixed #10513: floatformat now works with floatish things, not just real floats. Thanks, Alex. Backport of [10278] from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@10299 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
4a3139d63e
commit
377cc9c850
|
@ -149,7 +149,9 @@ def floatformat(text, arg=-1):
|
||||||
except InvalidOperation:
|
except InvalidOperation:
|
||||||
if input_val in special_floats:
|
if input_val in special_floats:
|
||||||
return input_val
|
return input_val
|
||||||
else:
|
try:
|
||||||
|
d = Decimal(force_unicode(float(text)))
|
||||||
|
except (ValueError, InvalidOperation, TypeError, UnicodeEncodeError):
|
||||||
return u''
|
return u''
|
||||||
try:
|
try:
|
||||||
p = int(arg)
|
p = int(arg)
|
||||||
|
|
|
@ -35,8 +35,8 @@ u'8.280'
|
||||||
u''
|
u''
|
||||||
>>> floatformat(13.1031, u'bar')
|
>>> floatformat(13.1031, u'bar')
|
||||||
u'13.1031'
|
u'13.1031'
|
||||||
>>> floatformat(18.125, 2)
|
>>> floatformat(18.125, 2)
|
||||||
u'18.13'
|
u'18.13'
|
||||||
>>> floatformat(u'foo', u'bar')
|
>>> floatformat(u'foo', u'bar')
|
||||||
u''
|
u''
|
||||||
>>> floatformat(u'¿Cómo esta usted?')
|
>>> floatformat(u'¿Cómo esta usted?')
|
||||||
|
@ -53,6 +53,15 @@ True
|
||||||
>>> floatformat(nan) == unicode(nan)
|
>>> floatformat(nan) == unicode(nan)
|
||||||
True
|
True
|
||||||
|
|
||||||
|
>>> class FloatWrapper(object):
|
||||||
|
... def __init__(self, value):
|
||||||
|
... self.value = value
|
||||||
|
... def __float__(self):
|
||||||
|
... return self.value
|
||||||
|
|
||||||
|
>>> floatformat(FloatWrapper(11.000001), -2)
|
||||||
|
u'11.00'
|
||||||
|
|
||||||
>>> addslashes(u'"double quotes" and \'single quotes\'')
|
>>> addslashes(u'"double quotes" and \'single quotes\'')
|
||||||
u'\\"double quotes\\" and \\\'single quotes\\\''
|
u'\\"double quotes\\" and \\\'single quotes\\\''
|
||||||
|
|
||||||
|
@ -180,23 +189,23 @@ u'<a href="http://31characteruri.com/test/" rel="nofollow">http://31characteruri
|
||||||
u'<a href="http://31characteruri.com/test/" rel="nofollow">...</a>'
|
u'<a href="http://31characteruri.com/test/" rel="nofollow">...</a>'
|
||||||
|
|
||||||
# Check normal urlize
|
# Check normal urlize
|
||||||
>>> urlize('http://google.com')
|
>>> urlize('http://google.com')
|
||||||
u'<a href="http://google.com" rel="nofollow">http://google.com</a>'
|
u'<a href="http://google.com" rel="nofollow">http://google.com</a>'
|
||||||
|
|
||||||
>>> urlize('http://google.com/')
|
>>> urlize('http://google.com/')
|
||||||
u'<a href="http://google.com/" rel="nofollow">http://google.com/</a>'
|
u'<a href="http://google.com/" rel="nofollow">http://google.com/</a>'
|
||||||
|
|
||||||
>>> urlize('www.google.com')
|
>>> urlize('www.google.com')
|
||||||
u'<a href="http://www.google.com" rel="nofollow">www.google.com</a>'
|
u'<a href="http://www.google.com" rel="nofollow">www.google.com</a>'
|
||||||
|
|
||||||
>>> urlize('djangoproject.org')
|
>>> urlize('djangoproject.org')
|
||||||
u'<a href="http://djangoproject.org" rel="nofollow">djangoproject.org</a>'
|
u'<a href="http://djangoproject.org" rel="nofollow">djangoproject.org</a>'
|
||||||
|
|
||||||
>>> urlize('info@djangoproject.org')
|
>>> urlize('info@djangoproject.org')
|
||||||
u'<a href="mailto:info@djangoproject.org">info@djangoproject.org</a>'
|
u'<a href="mailto:info@djangoproject.org">info@djangoproject.org</a>'
|
||||||
|
|
||||||
# Check urlize with https addresses
|
# Check urlize with https addresses
|
||||||
>>> urlize('https://google.com')
|
>>> urlize('https://google.com')
|
||||||
u'<a href="https://google.com" rel="nofollow">https://google.com</a>'
|
u'<a href="https://google.com" rel="nofollow">https://google.com</a>'
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue