mirror of
				https://github.com/django/django.git
				synced 2025-10-30 17:16:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from django.forms import CharField, Form, 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>"
 | |
|             ),
 | |
|         )
 | |
| 
 | |
|     def test_fieldset(self):
 | |
|         class TestForm(Form):
 | |
|             template_name = "forms_tests/use_fieldset.html"
 | |
|             field = CharField(widget=self.widget)
 | |
| 
 | |
|         form = TestForm()
 | |
|         self.assertIs(self.widget.use_fieldset, False)
 | |
|         self.assertHTMLEqual(
 | |
|             '<div><label for="id_field">Field:</label>'
 | |
|             '<textarea cols="40" id="id_field" name="field" '
 | |
|             'required rows="10"></textarea></div>',
 | |
|             form.render(),
 | |
|         )
 |