Skip to content

Commit db2ac2f

Browse files
committed
Added tests for getTags()
1 parent a558096 commit db2ac2f

File tree

1 file changed

+74
-1
lines changed

1 file changed

+74
-1
lines changed

test_rss2email.py

+74-1
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77

88
import unittest
99
from rss2email import *
10+
import rss2email
11+
import feedparser
1012

11-
class Test_validateEmail(unittest.TestCase):
13+
class test_validateEmail(unittest.TestCase):
1214
""""""
1315
def test_valid_email(self):
1416
email = validateEmail("[email protected]", "[email protected]")
@@ -26,5 +28,76 @@ def test_no_at(self):
2628
email = validateEmail("invalid", "[email protected]")
2729
self.assertEqual(email, "[email protected]")
2830

31+
class test_getName(unittest.TestCase):
32+
""""""
33+
def setUp(self):
34+
self.feed = feedparser.parse("""
35+
<feed xmlns="http://www.w3.org/2005/Atom">
36+
<entry>
37+
<author>
38+
<name>Example author</name>
39+
<email>[email protected]</email>
40+
<url>http://example.com/</url>
41+
</author>
42+
</entry>
43+
</feed>
44+
""")
45+
self.entry = self.feed.entries[0]
46+
47+
48+
def test_no_friendly_name(self):
49+
rss2email.NO_FRIENDLY_NAME = 1
50+
name = getName(0, 0)
51+
rss2email.NO_FRIENDLY_NAME = 0
52+
self.assertEqual(name, '')
53+
54+
def test_override_from(self):
55+
# have to fake url attribute because it is only set on downloaded feeds
56+
urlToOverride = 'http://example.com/feed/'
57+
self.feed['url'] = urlToOverride
58+
rss2email.OVERRIDE_FROM = {urlToOverride:'override'}
59+
name = getName(self.feed, self.entry)
60+
self.assertEqual(name, 'override')
61+
62+
def test_no_friendly_name_negative(self):
63+
rss2email.NO_FRIENDLY_NAME = 0
64+
name=getName(self.feed, self.entry)
65+
self.assertEqual(name, 'Example author')
66+
67+
class test_getTags(unittest.TestCase):
68+
""""""
69+
def test_valid_tags(self):
70+
entry = {'tags': [{'term': u'tag1', 'scheme': None, 'label': None}]}
71+
tagline = getTags(entry)
72+
self.assertEqual(tagline, "tag1")
73+
74+
def test_no_tags(self):
75+
entry = {}
76+
tagline = getTags(entry)
77+
self.assertEqual(tagline, "")
78+
79+
def test_empty_tags(self):
80+
entry = {'tags': []}
81+
tagline = getTags(entry)
82+
self.assertEqual(tagline, "")
83+
84+
def test_no_term(self):
85+
entry = {'tags': [{'scheme': None, 'label': None}]}
86+
tagline = getTags(entry)
87+
self.assertEqual(tagline, "")
88+
89+
def test_empty_term(self):
90+
entry = {'tags': [{'term': u'', 'scheme': None, 'label': None}]}
91+
tagline = getTags(entry)
92+
self.assertEqual(tagline, "")
93+
94+
def test_multiple_tags(self):
95+
entry = {'tags': [{'term': u'tag1', 'scheme': None, 'label': None}, {'term': u'tag2', 'scheme': None, 'label': None}]}
96+
tagline = getTags(entry)
97+
self.assertEqual(tagline, "tag1,tag2")
98+
99+
100+
29101
if __name__ == '__main__':
30102
unittest.main()
103+

0 commit comments

Comments
 (0)