def test_render_without_value(self): """ If value not passed, use super widget. """ widget = widgets.ImageClearableFileInput() base_widget = ClearableFileInput() html = widget.render('photo', None) base_html = base_widget.render('photo', None) self.assertEqual(base_html, html)
def test_render_uploaded(self): """ The widget treats UploadedFile as no input. Rationale: When widget is used in ModelForm and the form (submitted with upload) is not valid, widget should discard the value (just like standard Django ClearableFileInput does). """ widget = widgets.ImageClearableFileInput() base_widget = ClearableFileInput() file_name = 'test.jpg' image = self.create_image(None, file_name) # storage=None to get raw content upload_file = SimpleUploadedFile(file_name, image.getvalue()) html = widget.render('photo', upload_file) base_html = base_widget.render('photo', upload_file) self.assertEqual(base_html, html) self.assertNotIn(file_name, html) # Widget is empty
def test_render_uploaded(self): """ The widget treats UploadedFile as no input. Rationale: When widget is used in ModelForm and the form (submitted with upload) is not valid, widget should discard the value (just like standard Django ClearableFileInput does). """ widget = widgets.ImageClearableFileInput() base_widget = ClearableFileInput() file_name = 'test.jpg' # storage=None to get raw content. image = self.create_image(None, file_name) upload_file = SimpleUploadedFile(file_name, image.getvalue()) html = widget.render('photo', upload_file) base_html = base_widget.render('photo', upload_file) self.assertEqual(base_html, html) self.assertNotIn(file_name, html) # Widget is empty.
def render(self, name, value, attrs=None): output = ClearableFileInput.render(self, name, value, attrs) output += self.output_extra_data(value) return mark_safe(output)