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="&quot;has,comma&quot; 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="&quot;has,comma&quot; delicious green red yummy" id="id_tags" /><br />A comma-separated list of tags.</td></tr>""")
 
         
 class TaggableFormDirectTestCase(TaggableFormTestCase):
--
libgit2 0.26.0