diff options
| author | Jannis Leidel <jannis@leidel.info> | 2012-02-04 12:48:21 +0000 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2012-02-04 12:48:21 +0000 |
| commit | bb6921ce888cfc981c4df8d5f079b0b7a4121ff6 (patch) | |
| tree | b11db490b0581b38eb7929af8ef3258249d73804 /tests/regressiontests | |
| parent | 9c045d00dc37f4eb082e022ac12b659345413d7e (diff) | |
Fixed #17596 -- Stopped the AdminField class from double quoting its label. Thanks, guettli and claudep.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17431 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
| -rw-r--r-- | tests/regressiontests/admin_util/tests.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/regressiontests/admin_util/tests.py b/tests/regressiontests/admin_util/tests.py index eb110159c4..8113f2e16d 100644 --- a/tests/regressiontests/admin_util/tests.py +++ b/tests/regressiontests/admin_util/tests.py @@ -4,14 +4,17 @@ from datetime import datetime from django.conf import settings from django.contrib import admin +from django.contrib.admin import helpers from django.contrib.admin.util import (display_for_field, label_for_field, lookup_field, NestedObjects) from django.contrib.admin.views.main import EMPTY_CHANGELIST_VALUE from django.contrib.sites.models import Site from django.db import models, DEFAULT_DB_ALIAS +from django import forms from django.test import TestCase from django.utils import unittest from django.utils.formats import localize +from django.utils.safestring import mark_safe from .models import Article, Count, Event, Location @@ -258,3 +261,26 @@ class UtilTests(unittest.TestCase): self.assertTrue( unicode(log_entry).startswith('Deleted ') ) + + def test_safestring_in_field_label(self): + # safestring should not be escaped + class MyForm(forms.Form): + text = forms.CharField(label=mark_safe('<i>text</i>')) + cb = forms.BooleanField(label=mark_safe('<i>cb</i>')) + + form = MyForm() + self.assertEqual(helpers.AdminField(form, 'text', is_first=False).label_tag(), + '<label for="id_text" class="required inline"><i>text</i>:</label>') + self.assertEqual(helpers.AdminField(form, 'cb', is_first=False).label_tag(), + '<label for="id_cb" class="vCheckboxLabel required inline"><i>cb</i></label>') + + # normal strings needs to be escaped + class MyForm(forms.Form): + text = forms.CharField(label='&text') + cb = forms.BooleanField(label='&cb') + + form = MyForm() + self.assertEqual(helpers.AdminField(form, 'text', is_first=False).label_tag(), + '<label for="id_text" class="required inline">&text:</label>') + self.assertEqual(helpers.AdminField(form, 'cb', is_first=False).label_tag(), + '<label for="id_cb" class="vCheckboxLabel required inline">&cb</label>') |
