FIxed #8156: `UploadedFile.__repr__` now returns a string, a good `__repr__` should.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8636 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
40e5cde1c5
commit
c33aeaa082
|
@ -11,6 +11,7 @@ except ImportError:
|
|||
from django.conf import settings
|
||||
from django.core.files.base import File
|
||||
from django.core.files import temp as tempfile
|
||||
from django.utils.encoding import smart_str
|
||||
|
||||
__all__ = ('UploadedFile', 'TemporaryUploadedFile', 'InMemoryUploadedFile',
|
||||
'SimpleUploadedFile')
|
||||
|
@ -32,7 +33,7 @@ class UploadedFile(File):
|
|||
self.charset = charset
|
||||
|
||||
def __repr__(self):
|
||||
return "<%s: %s (%s)>" % (self.__class__.__name__, self.name, self.content_type)
|
||||
return "<%s: %s (%s)>" % (self.__class__.__name__, smart_str(self.name), self.content_type)
|
||||
|
||||
def _get_name(self):
|
||||
return self._name
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# coding: utf-8
|
||||
"""
|
||||
Tests for the file storage mechanism
|
||||
|
||||
|
@ -72,6 +73,14 @@ u'custom_storage.2'
|
|||
# Cleanup the temp dir
|
||||
>>> os.rmdir(temp_dir)
|
||||
|
||||
|
||||
# Regression test for #8156: files with unicode names I can't quite figure out the
|
||||
# encoding situation between doctest and this file, but the actual repr doesn't
|
||||
# matter; it just shouldn't return a unicode object.
|
||||
>>> from django.core.files.uploadedfile import UploadedFile
|
||||
>>> uf = UploadedFile(name=u'¿Cómo?',content_type='text')
|
||||
>>> uf.__repr__()
|
||||
'<UploadedFile: ... (text)>'
|
||||
"""
|
||||
|
||||
# Tests for a race condition on file saving (#4948).
|
||||
|
|
Loading…
Reference in New Issue