From f18e27145c58fa4dcd4055c42ebfb87d0d3b64ff Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Fri, 15 Oct 2010 02:41:21 +0000 Subject: [1.2.x] Fixed #14454 -- converted admin_widgets tests from doctests to unittests. We have always been at war with doctests. Thanks to prestontimmons for the patch. Backport of [14221]. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@14222 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/regressiontests/admin_widgets/models.py | 105 +------------------------- 1 file changed, 2 insertions(+), 103 deletions(-) (limited to 'tests/regressiontests/admin_widgets/models.py') diff --git a/tests/regressiontests/admin_widgets/models.py b/tests/regressiontests/admin_widgets/models.py index c3c824e4a8..450c3e6f9e 100644 --- a/tests/regressiontests/admin_widgets/models.py +++ b/tests/regressiontests/admin_widgets/models.py @@ -1,11 +1,8 @@ - -from django.conf import settings from django.db import models -from django.core.files.storage import default_storage from django.contrib.auth.models import User -class MyFileField(models.FileField): - pass +class MyFileField(models.FileField): + pass class Member(models.Model): name = models.CharField(max_length=100) @@ -69,101 +66,3 @@ class CarTire(models.Model): A single car tire. This to test that a user can only select their own cars. """ car = models.ForeignKey(Car) - -__test__ = {'WIDGETS_TESTS': """ ->>> from datetime import datetime ->>> from django.utils.html import escape, conditional_escape ->>> from django.core.files.uploadedfile import SimpleUploadedFile ->>> from django.contrib.admin.widgets import FilteredSelectMultiple, AdminSplitDateTime ->>> from django.contrib.admin.widgets import AdminFileWidget, ForeignKeyRawIdWidget, ManyToManyRawIdWidget ->>> from django.contrib.admin.widgets import RelatedFieldWidgetWrapper ->>> from django.utils.translation import activate, deactivate ->>> from django.conf import settings - - -Calling conditional_escape on the output of widget.render will simulate what -happens in the template. This is easier than setting up a template and context -for each test. - -Make sure that the Admin widgets render properly, that is, without their extra -HTML escaped. - ->>> w = FilteredSelectMultiple('test', False) ->>> print conditional_escape(w.render('test', 'test')) - - - ->>> w = FilteredSelectMultiple('test', True) ->>> print conditional_escape(w.render('test', 'test')) - - - ->>> w = AdminSplitDateTime() ->>> print conditional_escape(w.render('test', datetime(2007, 12, 1, 9, 30))) -

Date:
Time:

->>> activate('de-at') ->>> settings.USE_L10N = True ->>> w.is_localized = True ->>> print conditional_escape(w.render('test', datetime(2007, 12, 1, 9, 30))) -

Datum:
Zeit:

->>> deactivate() ->>> settings.USE_L10N = False - ->>> band = Band.objects.create(pk=1, name='Linkin Park') ->>> album = band.album_set.create(name='Hybrid Theory', cover_art=r'albums\hybrid_theory.jpg') - ->>> w = AdminFileWidget() ->>> print conditional_escape(w.render('test', album.cover_art)) -Currently: albums\hybrid_theory.jpg
Change: ->>> print conditional_escape(w.render('test', SimpleUploadedFile('test', 'content'))) - - ->>> rel = Album._meta.get_field('band').rel ->>> w = ForeignKeyRawIdWidget(rel) ->>> print conditional_escape(w.render('test', band.pk, attrs={})) - Lookup Linkin Park - ->>> m1 = Member.objects.create(pk=1, name='Chester') ->>> m2 = Member.objects.create(pk=2, name='Mike') ->>> band.members.add(m1, m2) - ->>> rel = Band._meta.get_field('members').rel ->>> w = ManyToManyRawIdWidget(rel) ->>> print conditional_escape(w.render('test', [m1.pk, m2.pk], attrs={})) - Lookup ->>> print conditional_escape(w.render('test', [m1.pk])) - Lookup ->>> w._has_changed(None, None) -False ->>> w._has_changed([], None) -False ->>> w._has_changed(None, [u'1']) -True ->>> w._has_changed([1, 2], [u'1', u'2']) -False ->>> w._has_changed([1, 2], [u'1']) -True ->>> w._has_changed([1, 2], [u'1', u'3']) -True - -# Check that ForeignKeyRawIdWidget works with fields which aren't related to -# the model's primary key. ->>> apple = Inventory.objects.create(barcode=86, name='Apple') ->>> pear = Inventory.objects.create(barcode=22, name='Pear') ->>> core = Inventory.objects.create(barcode=87, name='Core', parent=apple) ->>> rel = Inventory._meta.get_field('parent').rel ->>> w = ForeignKeyRawIdWidget(rel) ->>> print w.render('test', core.parent_id, attrs={}) - Lookup Apple - -# see #9258 ->>> hidden = Inventory.objects.create(barcode=93, name='Hidden', hidden=True) ->>> child_of_hidden = Inventory.objects.create(barcode=94, name='Child of hidden', parent=hidden) ->>> print w.render('test', child_of_hidden.parent_id, attrs={}) - Lookup Hidden -""" % { - 'ADMIN_MEDIA_PREFIX': settings.ADMIN_MEDIA_PREFIX, - 'STORAGE_URL': default_storage.url(''), -}} -- cgit v1.3