from django.forms import Textarea from django.utils.safestring import mark_safe from .base import WidgetTest class TextareaTest(WidgetTest): widget = Textarea() def test_render(self): self.check_html(self.widget, 'msg', 'value', html=( '<textarea rows="10" cols="40" name="msg">value</textarea>' )) def test_render_required(self): widget = Textarea() widget.is_required = True self.check_html(widget, 'msg', 'value', html='<textarea rows="10" cols="40" name="msg">value</textarea>') def test_render_empty(self): self.check_html(self.widget, 'msg', '', html='<textarea rows="10" cols="40" name="msg"></textarea>') def test_render_none(self): self.check_html(self.widget, 'msg', None, html='<textarea rows="10" cols="40" name="msg"></textarea>') def test_escaping(self): self.check_html(self.widget, 'msg', 'some "quoted" & ampersanded value', html=( '<textarea rows="10" cols="40" name="msg">some "quoted" & ampersanded value</textarea>' )) def test_mark_safe(self): self.check_html(self.widget, 'msg', mark_safe('pre "quoted" value'), html=( '<textarea rows="10" cols="40" name="msg">pre "quoted" value</textarea>' ))