Skip to content

Commit b791ab1

Browse files
committed
Merge branch 'feature/covering' into develop
2 parents 10def02 + 7ebf7ce commit b791ab1

File tree

3 files changed

+65
-3
lines changed

3 files changed

+65
-3
lines changed

.coveragerc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[run]
2+
source = tagging
3+
omit = tagging/tests/*
4+
5+
[report]
6+
show_missing = True
7+
exclude_lines =
8+
pragma: no cover

tagging/tests/tests.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ def test_tags_with_double_quotes_can_contain_commas(self):
8282
['a-one', 'a-two, and a-three'])
8383
self.assertEqual(parse_tag_input('"two", one, one, two, "one"'),
8484
['one', 'two'])
85+
self.assertEqual(parse_tag_input('two", one'),
86+
['one', 'two'])
8587

8688
def test_with_naughty_input(self):
8789
""" Test with naughty input. """
@@ -684,6 +686,49 @@ def test_related_for_model_with_tag_strings_as_input(self):
684686
self.assertEqual(len(relevant_attribute_list), 0)
685687

686688

689+
class TestTagCloudForModel(TestCase):
690+
def setUp(self):
691+
parrot_details = (
692+
('pining for the fjords', 9, True, 'foo bar'),
693+
('passed on', 6, False, 'bar baz ter'),
694+
('no more', 4, True, 'foo ter'),
695+
('late', 2, False, 'bar ter'),
696+
)
697+
698+
for state, perch_size, perch_smelly, tags in parrot_details:
699+
perch = Perch.objects.create(size=perch_size, smelly=perch_smelly)
700+
parrot = Parrot.objects.create(state=state, perch=perch)
701+
Tag.objects.update_tags(parrot, tags)
702+
703+
def test_tag_cloud_for_model(self):
704+
tag_cloud = Tag.objects.cloud_for_model(Parrot)
705+
relevant_attribute_list = [(tag.name, tag.count, tag.font_size)
706+
for tag in tag_cloud]
707+
self.assertEqual(len(relevant_attribute_list), 4)
708+
self.assertTrue(('bar', 3, 4) in relevant_attribute_list)
709+
self.assertTrue(('baz', 1, 1) in relevant_attribute_list)
710+
self.assertTrue(('foo', 2, 2) in relevant_attribute_list)
711+
self.assertTrue(('ter', 3, 4) in relevant_attribute_list)
712+
713+
def test_tag_cloud_for_model_filters(self):
714+
tag_cloud = Tag.objects.cloud_for_model(Parrot,
715+
filters={'state': 'no more'})
716+
relevant_attribute_list = [(tag.name, tag.count, tag.font_size)
717+
for tag in tag_cloud]
718+
self.assertEqual(len(relevant_attribute_list), 2)
719+
self.assertTrue(('foo', 1, 1) in relevant_attribute_list)
720+
self.assertTrue(('ter', 1, 1) in relevant_attribute_list)
721+
722+
def test_tag_cloud_for_model_min_count(self):
723+
tag_cloud = Tag.objects.cloud_for_model(Parrot, min_count=2)
724+
relevant_attribute_list = [(tag.name, tag.count, tag.font_size)
725+
for tag in tag_cloud]
726+
self.assertEqual(len(relevant_attribute_list), 3)
727+
self.assertTrue(('bar', 3, 4) in relevant_attribute_list)
728+
self.assertTrue(('foo', 2, 1) in relevant_attribute_list)
729+
self.assertTrue(('ter', 3, 4) in relevant_attribute_list)
730+
731+
687732
class TestGetTaggedObjectsByModel(TestCase):
688733
def setUp(self):
689734
parrot_details = (
@@ -802,6 +847,12 @@ def test_get_union_by_model(self):
802847
# Issue 114 - Union with non-existant tags
803848
parrots = TaggedItem.objects.get_union_by_model(Parrot, [])
804849
self.assertEqual(len(parrots), 0)
850+
parrots = TaggedItem.objects.get_union_by_model(Parrot, ['albert'])
851+
self.assertEqual(len(parrots), 0)
852+
853+
Tag.objects.create(name='titi')
854+
parrots = TaggedItem.objects.get_union_by_model(Parrot, ['titi'])
855+
self.assertEqual(len(parrots), 0)
805856

806857

807858
class TestGetRelatedTaggedItems(TestCase):
@@ -1036,6 +1087,12 @@ def test_tag_d_validation(self):
10361087
forms.ValidationError, t.clean,
10371088
'foo qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbn bar')
10381089

1090+
def test_tag_get_from_model(self):
1091+
FormTest.objects.create(tags='test3 test2 test1')
1092+
FormTest.objects.create(tags='toto titi')
1093+
self.assertEquals(FormTest.tags, 'test1 test2 test3 titi toto')
1094+
1095+
10391096
#########
10401097
# Forms #
10411098
#########

tagging/utils.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,6 @@ def split_strip(input, delimiter=','):
8989
Splits ``input`` on ``delimiter``, stripping each resulting string
9090
and returning a list of non-empty strings.
9191
"""
92-
if not input:
93-
return []
94-
9592
words = [w.strip() for w in input.split(delimiter)]
9693
return [w for w in words if w]
9794

0 commit comments

Comments
 (0)