Skip to content

Commit d612bff

Browse files
committed
Add test empty test
1 parent ac1c130 commit d612bff

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

tests/test_libcomxml.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,3 +145,43 @@ def setUp(self):
145145

146146
def test_xml(self):
147147
self.assertEqual(str(self.catalog), self.xml)
148+
149+
150+
class TestEmpty(unittest.TestCase):
151+
152+
def setUp(self):
153+
self.xml = "<?xml version='1.0' encoding='UTF-8'?>\n<feed>"
154+
self.xml += "<test>foo</test><link href=\"http://example.com\"/>"
155+
self.xml += "<entry><val>1</val></entry><entry><val>2</val></entry>"
156+
self.xml += "</feed>"
157+
158+
def test_empty(self):
159+
160+
class Feed(XmlModel):
161+
def __init__(self):
162+
self._sort_order = ('test', 'link', 'entries')
163+
self.rss_feed = XmlField('feed')
164+
self.link = XmlField('link')
165+
self.test = XmlField('test')
166+
self.entries = []
167+
super(Feed, self).__init__('feed', 'rss_feed', drop_empty=False)
168+
169+
class Entry(XmlModel):
170+
def __init__(self):
171+
self.entry = XmlField('entry')
172+
self.val = XmlField('val')
173+
super(Entry, self).__init__('entry', 'entry')
174+
175+
176+
feed = Feed()
177+
feed.link.attributes.update({'href': 'http://example.com'})
178+
feed.feed({'test': 'foo'})
179+
180+
for elem in (1, 2):
181+
entry = Entry()
182+
entry.feed({'val': elem})
183+
feed.entries.append(entry)
184+
185+
feed.build_tree()
186+
187+
self.assertEqual(self.xml, str(feed))

0 commit comments

Comments
 (0)