mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #16921 -- Added assertHTMLEqual and assertHTMLNotEqual assertions, and converted Django tests to use them where appropriate. Thanks Greg Müllegger.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17414 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -194,14 +194,14 @@ class AdminForeignKeyRawIdWidget(DjangoTestCase):
|
||||
class FilteredSelectMultipleWidgetTest(DjangoTestCase):
|
||||
def test_render(self):
|
||||
w = widgets.FilteredSelectMultiple('test', False)
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', 'test')),
|
||||
'<select multiple="multiple" name="test" class="selectfilter">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 0, "%(ADMIN_MEDIA_PREFIX)s"); });</script>\n' % admin_media_prefix()
|
||||
)
|
||||
|
||||
def test_stacked_render(self):
|
||||
w = widgets.FilteredSelectMultiple('test', True)
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', 'test')),
|
||||
'<select multiple="multiple" name="test" class="selectfilterstacked">\n</select><script type="text/javascript">addEvent(window, "load", function(e) {SelectFilter.init("id_test", "test", 1, "%(ADMIN_MEDIA_PREFIX)s"); });</script>\n' % admin_media_prefix()
|
||||
)
|
||||
@@ -213,13 +213,13 @@ class AdminDateWidgetTest(DjangoTestCase):
|
||||
Refs #12073.
|
||||
"""
|
||||
w = widgets.AdminDateWidget()
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', datetime(2007, 12, 1, 9, 30))),
|
||||
'<input value="2007-12-01" type="text" class="vDateField" name="test" size="10" />',
|
||||
)
|
||||
# pass attrs to widget
|
||||
w = widgets.AdminDateWidget(attrs={'size': 20, 'class': 'myDateField'})
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', datetime(2007, 12, 1, 9, 30))),
|
||||
'<input value="2007-12-01" type="text" class="myDateField" name="test" size="20" />',
|
||||
)
|
||||
@@ -231,13 +231,13 @@ class AdminTimeWidgetTest(DjangoTestCase):
|
||||
Refs #12073.
|
||||
"""
|
||||
w = widgets.AdminTimeWidget()
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', datetime(2007, 12, 1, 9, 30))),
|
||||
'<input value="09:30:00" type="text" class="vTimeField" name="test" size="8" />',
|
||||
)
|
||||
# pass attrs to widget
|
||||
w = widgets.AdminTimeWidget(attrs={'size': 20, 'class': 'myTimeField'})
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', datetime(2007, 12, 1, 9, 30))),
|
||||
'<input value="09:30:00" type="text" class="myTimeField" name="test" size="20" />',
|
||||
)
|
||||
@@ -245,7 +245,7 @@ class AdminTimeWidgetTest(DjangoTestCase):
|
||||
class AdminSplitDateTimeWidgetTest(DjangoTestCase):
|
||||
def test_render(self):
|
||||
w = widgets.AdminSplitDateTime()
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', datetime(2007, 12, 1, 9, 30))),
|
||||
'<p class="datetime">Date: <input value="2007-12-01" type="text" class="vDateField" name="test_0" size="10" /><br />Time: <input value="09:30:00" type="text" class="vTimeField" name="test_1" size="8" /></p>',
|
||||
)
|
||||
@@ -256,7 +256,7 @@ class AdminSplitDateTimeWidgetTest(DjangoTestCase):
|
||||
with self.settings(USE_L10N=True):
|
||||
with translation.override('de-at'):
|
||||
w.is_localized = True
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', datetime(2007, 12, 1, 9, 30))),
|
||||
'<p class="datetime">Datum: <input value="01.12.2007" type="text" class="vDateField" name="test_0" size="10" /><br />Zeit: <input value="09:30:00" type="text" class="vTimeField" name="test_1" size="8" /></p>',
|
||||
)
|
||||
@@ -270,12 +270,12 @@ class AdminFileWidgetTest(DjangoTestCase):
|
||||
)
|
||||
|
||||
w = widgets.AdminFileWidget()
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', album.cover_art)),
|
||||
'<p class="file-upload">Currently: <a href="%(STORAGE_URL)salbums/hybrid_theory.jpg">albums\hybrid_theory.jpg</a> <span class="clearable-file-input"><input type="checkbox" name="test-clear" id="test-clear_id" /> <label for="test-clear_id">Clear</label></span><br />Change: <input type="file" name="test" /></p>' % { 'STORAGE_URL': default_storage.url('') },
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', SimpleUploadedFile('test', 'content'))),
|
||||
'<input type="file" name="test" />',
|
||||
)
|
||||
@@ -290,7 +290,7 @@ class ForeignKeyRawIdWidgetTest(DjangoTestCase):
|
||||
rel = models.Album._meta.get_field('band').rel
|
||||
|
||||
w = widgets.ForeignKeyRawIdWidget(rel, widget_admin_site)
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', band.pk, attrs={})),
|
||||
'<input type="text" name="test" value="%(bandpk)s" class="vForeignKeyRawIdAdminField" /><a href="/widget_admin/admin_widgets/band/?t=id" class="related-lookup" id="lookup_id_test" onclick="return showRelatedObjectLookupPopup(this);"> <img src="%(ADMIN_MEDIA_PREFIX)simg/selector-search.gif" width="16" height="16" alt="Lookup" /></a> <strong>Linkin Park</strong>' % dict(admin_media_prefix(), bandpk=band.pk)
|
||||
)
|
||||
@@ -305,7 +305,7 @@ class ForeignKeyRawIdWidgetTest(DjangoTestCase):
|
||||
)
|
||||
rel = models.Inventory._meta.get_field('parent').rel
|
||||
w = widgets.ForeignKeyRawIdWidget(rel, widget_admin_site)
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
w.render('test', core.parent_id, attrs={}),
|
||||
'<input type="text" name="test" value="86" class="vForeignKeyRawIdAdminField" /><a href="/widget_admin/admin_widgets/inventory/?t=barcode" class="related-lookup" id="lookup_id_test" onclick="return showRelatedObjectLookupPopup(this);"> <img src="%(ADMIN_MEDIA_PREFIX)simg/selector-search.gif" width="16" height="16" alt="Lookup" /></a> <strong>Apple</strong>' % admin_media_prefix()
|
||||
)
|
||||
@@ -318,7 +318,7 @@ class ForeignKeyRawIdWidgetTest(DjangoTestCase):
|
||||
rel = models.Bee._meta.get_field('honeycomb').rel
|
||||
|
||||
w = widgets.ForeignKeyRawIdWidget(rel, widget_admin_site)
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('honeycomb_widget', big_honeycomb.pk, attrs={})),
|
||||
'<input type="text" name="honeycomb_widget" value="%(hcombpk)s" /> <strong>Honeycomb object</strong>' % {'hcombpk': big_honeycomb.pk}
|
||||
)
|
||||
@@ -331,7 +331,7 @@ class ForeignKeyRawIdWidgetTest(DjangoTestCase):
|
||||
rel = models.Individual._meta.get_field('parent').rel
|
||||
|
||||
w = widgets.ForeignKeyRawIdWidget(rel, widget_admin_site)
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('individual_widget', subject1.pk, attrs={})),
|
||||
'<input type="text" name="individual_widget" value="%(subj1pk)s" /> <strong>Individual object</strong>' % {'subj1pk': subject1.pk}
|
||||
)
|
||||
@@ -347,7 +347,7 @@ class ForeignKeyRawIdWidgetTest(DjangoTestCase):
|
||||
child_of_hidden = models.Inventory.objects.create(
|
||||
barcode=94, name='Child of hidden', parent=hidden
|
||||
)
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
w.render('test', child_of_hidden.parent_id, attrs={}),
|
||||
'<input type="text" name="test" value="93" class="vForeignKeyRawIdAdminField" /><a href="/widget_admin/admin_widgets/inventory/?t=barcode" class="related-lookup" id="lookup_id_test" onclick="return showRelatedObjectLookupPopup(this);"> <img src="%(ADMIN_MEDIA_PREFIX)simg/selector-search.gif" width="16" height="16" alt="Lookup" /></a> <strong>Hidden</strong>' % admin_media_prefix()
|
||||
)
|
||||
@@ -363,12 +363,12 @@ class ManyToManyRawIdWidgetTest(DjangoTestCase):
|
||||
rel = models.Band._meta.get_field('members').rel
|
||||
|
||||
w = widgets.ManyToManyRawIdWidget(rel, widget_admin_site)
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', [m1.pk, m2.pk], attrs={})),
|
||||
'<input type="text" name="test" value="%(m1pk)s,%(m2pk)s" class="vManyToManyRawIdAdminField" /><a href="/widget_admin/admin_widgets/member/" class="related-lookup" id="lookup_id_test" onclick="return showRelatedObjectLookupPopup(this);"> <img src="/static/admin/img/selector-search.gif" width="16" height="16" alt="Lookup" /></a>' % dict(admin_media_prefix(), m1pk=m1.pk, m2pk=m2.pk)
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('test', [m1.pk])),
|
||||
'<input type="text" name="test" value="%(m1pk)s" class="vManyToManyRawIdAdminField" /><a href="/widget_admin/admin_widgets/member/" class="related-lookup" id="lookup_id_test" onclick="return showRelatedObjectLookupPopup(this);"> <img src="%(ADMIN_MEDIA_PREFIX)simg/selector-search.gif" width="16" height="16" alt="Lookup" /></a>' % dict(admin_media_prefix(), m1pk=m1.pk)
|
||||
)
|
||||
@@ -391,12 +391,12 @@ class ManyToManyRawIdWidgetTest(DjangoTestCase):
|
||||
rel = models.Advisor._meta.get_field('companies').rel
|
||||
|
||||
w = widgets.ManyToManyRawIdWidget(rel, widget_admin_site)
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('company_widget1', [c1.pk, c2.pk], attrs={})),
|
||||
'<input type="text" name="company_widget1" value="%(c1pk)s,%(c2pk)s" />' % {'c1pk': c1.pk, 'c2pk': c2.pk}
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
self.assertHTMLEqual(
|
||||
conditional_escape(w.render('company_widget2', [c1.pk])),
|
||||
'<input type="text" name="company_widget2" value="%(c1pk)s" />' % {'c1pk': c1.pk}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user