From b794e7e3a292d1f49b06205ad20b8e0f164a744b Mon Sep 17 00:00:00 2001 From: Alex Gaynor <alex.gaynor@gmail.com> Date: Mon, 21 Jun 2010 11:55:29 -0500 Subject: [PATCH] Fix up the tests. --- taggit/models.py | 11 ++++++++--- taggit/tests/models.py | 11 +++++++++++ taggit/tests/tests.py | 16 +++++++++++++--- 3 files changed, 32 insertions(+), 6 deletions(-) diff --git a/taggit/models.py b/taggit/models.py index b8e61d2..9b544dd 100644 --- a/taggit/models.py +++ b/taggit/models.py @@ -3,7 +3,8 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.generic import GenericForeignKey from django.db import models, IntegrityError, transaction from django.template.defaultfilters import slugify -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ugettext_lazy as _, ugettext + class Tag(models.Model): name = models.CharField(verbose_name=_('Name'), max_length=100) @@ -52,7 +53,10 @@ class TaggedItemBase(models.Model): tag = models.ForeignKey(Tag, related_name="%(app_label)s_%(class)s_items") def __unicode__(self): - return _("%(object)s tagged with %(tag)s") % { 'object': self.content_object, 'tag': self.tag } + return ugettext("%(object)s tagged with %(tag)s") % { + "object": self.content_object, + "tag": self.tag + } class Meta: abstract = True @@ -80,7 +84,8 @@ class TaggedItemBase(models.Model): class TaggedItem(TaggedItemBase): object_id = models.IntegerField(verbose_name=_('Object id')) - content_type = models.ForeignKey(ContentType, verbose_name=_('Content type'), related_name="tagged_items") + content_type = models.ForeignKey(ContentType, verbose_name=_('Content type'), + related_name="tagged_items") content_object = GenericForeignKey() class Meta: diff --git a/taggit/tests/models.py b/taggit/tests/models.py index 748985d..9f0f2f5 100644 --- a/taggit/tests/models.py +++ b/taggit/tests/models.py @@ -15,6 +15,10 @@ class Pet(models.Model): name = models.CharField(max_length=50) tags = TaggableManager() + + def __unicode__(self): + return self.name + class HousePet(Pet): trained = models.BooleanField() @@ -36,6 +40,10 @@ class DirectPet(models.Model): name = models.CharField(max_length=50) tags = TaggableManager(through=TaggedPet) + + def __unicode__(self): + return self.name + class DirectHousePet(DirectPet): trained = models.BooleanField() @@ -57,6 +65,9 @@ class CustomPKPet(models.Model): name = models.CharField(max_length=50, primary_key=True) tags = TaggableManager(through=TaggedCustomPKPet) + + def __unicode__(self): + return self.name class CustomPKHousePet(CustomPKPet): trained = models.BooleanField() diff --git a/taggit/tests/tests.py b/taggit/tests/tests.py index cdc427e..1adb6c5 100644 --- a/taggit/tests/tests.py +++ b/taggit/tests/tests.py @@ -182,6 +182,16 @@ class TaggableManagerTestCase(BaseTaggingTestCase): [i.tag for i in self.taggeditem_model.objects.filter(**lookup_kwargs)], ['scary'] ) + + def test_taggeditem_unicode(self): + ross = self.pet_model.objects.create(name="ross") + # I keep Ross Perot for a pet, what's it to you? + ross.tags.add("president") + + self.assertEqual( + unicode(self.taggeditem_model.objects.all()[0]), + "ross tagged with president" + ) class TaggableManagerDirectTestCase(TaggableManagerTestCase): @@ -209,7 +219,7 @@ class TaggableFormTestCase(BaseTaggingTestCase): self.assertEqual(self.form_class.base_fields.keys(), ['name', 'tags']) f = self.form_class({'name': 'apple', 'tags': 'green, red, yummy'}) - self.assertEqual(str(f), """<tr><th><label for="id_name">Name:</label></th><td><input id="id_name" type="text" name="name" value="apple" maxlength="50" /></td></tr>\n<tr><th><label for="id_tags">Tags:</label></th><td><input type="text" name="tags" value="green, red, yummy" id="id_tags" /></td></tr>""") + self.assertEqual(str(f), """<tr><th><label for="id_name">Name:</label></th><td><input id="id_name" type="text" name="name" value="apple" maxlength="50" /></td></tr>\n<tr><th><label for="id_tags">Tags:</label></th><td><input type="text" name="tags" value="green, red, yummy" id="id_tags" /><br />A comma-separated list of tags.</td></tr>""") f.save() apple = self.food_model.objects.get(name='apple') self.assert_tags_equal(apple.tags.all(), ['green', 'red', 'yummy']) @@ -225,11 +235,11 @@ class TaggableFormTestCase(BaseTaggingTestCase): self.assert_tags_equal(raspberry.tags.all(), []) f = self.form_class(instance=apple) - self.assertEqual(str(f), """<tr><th><label for="id_name">Name:</label></th><td><input id="id_name" type="text" name="name" value="apple" maxlength="50" /></td></tr>\n<tr><th><label for="id_tags">Tags:</label></th><td><input type="text" name="tags" value="delicious green red yummy" id="id_tags" /></td></tr>""") + self.assertEqual(str(f), """<tr><th><label for="id_name">Name:</label></th><td><input id="id_name" type="text" name="name" value="apple" maxlength="50" /></td></tr>\n<tr><th><label for="id_tags">Tags:</label></th><td><input type="text" name="tags" value="delicious green red yummy" id="id_tags" /><br />A comma-separated list of tags.</td></tr>""") apple.tags.add('has,comma') f = self.form_class(instance=apple) - self.assertEqual(str(f), """<tr><th><label for="id_name">Name:</label></th><td><input id="id_name" type="text" name="name" value="apple" maxlength="50" /></td></tr>\n<tr><th><label for="id_tags">Tags:</label></th><td><input type="text" name="tags" value=""has,comma" delicious green red yummy" id="id_tags" /></td></tr>""") + self.assertEqual(str(f), """<tr><th><label for="id_name">Name:</label></th><td><input id="id_name" type="text" name="name" value="apple" maxlength="50" /></td></tr>\n<tr><th><label for="id_tags">Tags:</label></th><td><input type="text" name="tags" value=""has,comma" delicious green red yummy" id="id_tags" /><br />A comma-separated list of tags.</td></tr>""") class TaggableFormDirectTestCase(TaggableFormTestCase): -- libgit2 0.26.0