|
4 | 4 | import os |
5 | 5 |
|
6 | 6 | from django import forms |
| 7 | +from django.utils import six |
7 | 8 | from django.db.models import Q |
8 | 9 | from django.test import TestCase |
9 | 10 |
|
10 | 11 | from tagging import settings |
11 | 12 | from tagging.forms import TagField |
12 | 13 | from tagging.models import Tag, TaggedItem |
13 | | -from tagging.tests.models import Article, Link, Perch, Parrot, FormTest |
14 | | -from tagging.utils import calculate_cloud, edit_string_for_tags, get_tag_list, get_tag, parse_tag_input |
| 14 | +from tagging.tests.models import Article |
| 15 | +from tagging.tests.models import Link |
| 16 | +from tagging.tests.models import Perch |
| 17 | +from tagging.tests.models import Parrot |
| 18 | +from tagging.tests.models import FormTest |
| 19 | +from tagging.tests.models import FormTestNull |
15 | 20 | from tagging.utils import LINEAR |
16 | | - |
| 21 | +from tagging.utils import get_tag |
| 22 | +from tagging.utils import get_tag_list |
| 23 | +from tagging.utils import calculate_cloud |
| 24 | +from tagging.utils import parse_tag_input |
| 25 | +from tagging.utils import edit_string_for_tags |
17 | 26 |
|
18 | 27 | ############# |
19 | 28 | # Utilities # |
@@ -326,6 +335,14 @@ def test_update_tags_exotic_characters(self): |
326 | 335 | self.assertEqual(len(tags), 1) |
327 | 336 | self.assertEqual(tags[0].name, '你好') |
328 | 337 |
|
| 338 | + def test_unicode_tagged_object(self): |
| 339 | + self.dead_parrot.state = u"dëad" |
| 340 | + self.dead_parrot.save() |
| 341 | + Tag.objects.update_tags(self.dead_parrot, u'föo') |
| 342 | + items = TaggedItem.objects.all() |
| 343 | + self.assertEqual(len(items), 1) |
| 344 | + self.assertEqual(six.text_type(items[0]), u"dëad [föo]") |
| 345 | + |
329 | 346 | def test_update_tags_with_none(self): |
330 | 347 | # start off in a known, mildly interesting state |
331 | 348 | Tag.objects.update_tags(self.dead_parrot, 'foo bar baz') |
|
0 commit comments