diff options
| author | safu9 <atlantis.19980911@gmail.com> | 2018-04-03 12:06:08 +0900 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-04-04 13:16:03 -0400 |
| commit | 9fd9f8bbb23407254aa0ba851dbcc8e7f696c3de (patch) | |
| tree | ebb038c2c4aa9c2c338182d223b86927f5ce2cf6 /tests/forms_tests/field_tests/test_imagefield.py | |
| parent | cf8fc4797458b2c788ecf0be0afca6b0512ce1c0 (diff) | |
Fixed #29284 -- Made ImageField render with accept="image/*"' HTML attribute.
Diffstat (limited to 'tests/forms_tests/field_tests/test_imagefield.py')
| -rw-r--r-- | tests/forms_tests/field_tests/test_imagefield.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/tests/forms_tests/field_tests/test_imagefield.py b/tests/forms_tests/field_tests/test_imagefield.py index 0a0f60440e..e38abc332d 100644 --- a/tests/forms_tests/field_tests/test_imagefield.py +++ b/tests/forms_tests/field_tests/test_imagefield.py @@ -2,9 +2,13 @@ import os import unittest from django.core.files.uploadedfile import SimpleUploadedFile -from django.forms import ImageField, ValidationError +from django.forms import ( + ClearableFileInput, FileInput, ImageField, ValidationError, Widget, +) from django.test import SimpleTestCase +from . import FormFieldAssertionsMixin + try: from PIL import Image except ImportError: @@ -16,7 +20,7 @@ def get_img_path(path): @unittest.skipUnless(Image, "Pillow is required to test ImageField") -class ImageFieldTest(SimpleTestCase): +class ImageFieldTest(FormFieldAssertionsMixin, SimpleTestCase): def test_imagefield_annotate_with_image_after_clean(self): f = ImageField() @@ -64,3 +68,21 @@ class ImageFieldTest(SimpleTestCase): img_file = SimpleUploadedFile('1x1.txt', img_data) with self.assertRaisesMessage(ValidationError, "File extension 'txt' is not allowed."): f.clean(img_file) + + def test_widget_attrs_default_accept(self): + f = ImageField() + # Nothing added for non-FileInput widgets. + self.assertEqual(f.widget_attrs(Widget()), {}) + self.assertEqual(f.widget_attrs(FileInput()), {'accept': 'image/*'}) + self.assertEqual(f.widget_attrs(ClearableFileInput()), {'accept': 'image/*'}) + self.assertWidgetRendersTo(f, '<input type="file" name="f" accept="image/*" required id="id_f" />') + + def test_widge_attrs_accept_specified(self): + f = ImageField(widget=FileInput(attrs={'accept': 'image/png'})) + self.assertEqual(f.widget_attrs(f.widget), {}) + self.assertWidgetRendersTo(f, '<input type="file" name="f" accept="image/png" required id="id_f" />') + + def test_widge_attrs_accept_false(self): + f = ImageField(widget=FileInput(attrs={'accept': False})) + self.assertEqual(f.widget_attrs(f.widget), {}) + self.assertWidgetRendersTo(f, '<input type="file" name="f" required id="id_f" />') |
