Fixed #6009 -- Added regression tests to show that uploading non-ASCII
filenames now works properly. Patch from Leah Culver. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7987 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
a103786971
commit
344383284c
|
@ -802,6 +802,9 @@ ValidationError: [u'The submitted file is empty.']
|
||||||
>>> type(f.clean(SimpleUploadedFile('name', 'Some File Content')))
|
>>> type(f.clean(SimpleUploadedFile('name', 'Some File Content')))
|
||||||
<class 'django.core.files.uploadedfile.SimpleUploadedFile'>
|
<class 'django.core.files.uploadedfile.SimpleUploadedFile'>
|
||||||
|
|
||||||
|
>>> type(f.clean(SimpleUploadedFile('我隻氣墊船裝滿晒鱔.txt', 'मेरी मँडराने वाली नाव सर्पमीनों से भरी ह')))
|
||||||
|
<class 'django.core.files.uploadedfile.SimpleUploadedFile'>
|
||||||
|
|
||||||
>>> type(f.clean(SimpleUploadedFile('name', 'Some File Content'), 'files/test4.pdf'))
|
>>> type(f.clean(SimpleUploadedFile('name', 'Some File Content'), 'files/test4.pdf'))
|
||||||
<class 'django.core.files.uploadedfile.SimpleUploadedFile'>
|
<class 'django.core.files.uploadedfile.SimpleUploadedFile'>
|
||||||
|
|
||||||
|
|
|
@ -1480,6 +1480,10 @@ not request.POST.
|
||||||
>>> f.is_valid()
|
>>> f.is_valid()
|
||||||
True
|
True
|
||||||
|
|
||||||
|
>>> f = FileForm(data={}, files={'file1': SimpleUploadedFile('我隻氣墊船裝滿晒鱔.txt', 'मेरी मँडराने वाली नाव सर्पमीनों से भरी ह')}, auto_id=False)
|
||||||
|
>>> print f
|
||||||
|
<tr><th>File1:</th><td><input type="file" name="file1" /></td></tr>
|
||||||
|
|
||||||
# Basic form processing in a view #############################################
|
# Basic form processing in a view #############################################
|
||||||
|
|
||||||
>>> from django.template import Template, Context
|
>>> from django.template import Template, Context
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
# Can't import as "forms" due to implementation details in the test suite (the
|
||||||
|
# current file is called "forms" an is already imported).
|
||||||
|
from django import forms as django_forms
|
||||||
|
|
||||||
class BoundaryModel(models.Model):
|
class BoundaryModel(models.Model):
|
||||||
positive_integer = models.PositiveIntegerField(null=True, blank=True)
|
positive_integer = models.PositiveIntegerField(null=True, blank=True)
|
||||||
|
@ -14,8 +18,23 @@ class ChoiceModel(models.Model):
|
||||||
"""For ModelChoiceField and ModelMultipleChoiceField tests."""
|
"""For ModelChoiceField and ModelMultipleChoiceField tests."""
|
||||||
name = models.CharField(max_length=10)
|
name = models.CharField(max_length=10)
|
||||||
|
|
||||||
|
class FileModel(models.Model):
|
||||||
|
file = models.FileField(upload_to='/')
|
||||||
|
|
||||||
|
class FileForm(django_forms.Form):
|
||||||
|
file1 = django_forms.FileField()
|
||||||
|
|
||||||
__test__ = {'API_TESTS': """
|
__test__ = {'API_TESTS': """
|
||||||
>>> from django.forms import form_for_model, form_for_instance
|
>>> from django.forms import form_for_model, form_for_instance
|
||||||
|
>>> from django.core.files.uploadedfile import SimpleUploadedFile
|
||||||
|
|
||||||
|
# FileModel with unicode filename and data #########################
|
||||||
|
>>> f = FileForm(data={}, files={'file1': SimpleUploadedFile('我隻氣墊船裝滿晒鱔.txt', 'मेरी मँडराने वाली नाव सर्पमीनों से भरी ह')}, auto_id=False)
|
||||||
|
>>> f.is_valid()
|
||||||
|
True
|
||||||
|
>>> f.cleaned_data
|
||||||
|
{'file1': <SimpleUploadedFile: 我隻氣墊船裝滿晒鱔.txt (text/plain)>}
|
||||||
|
>>> m = FileModel.objects.create(file=f.cleaned_data['file1'])
|
||||||
|
|
||||||
# Boundary conditions on a PostitiveIntegerField #########################
|
# Boundary conditions on a PostitiveIntegerField #########################
|
||||||
>>> BoundaryForm = form_for_model(BoundaryModel)
|
>>> BoundaryForm = form_for_model(BoundaryModel)
|
||||||
|
|
Loading…
Reference in New Issue