Skip to content

Commit 803c98a

Browse files
committed
Merge pull request #33 from gisce/test_empty_with_attributes
Test empty with attributes
2 parents b6d7aab + d612bff commit 803c98a

2 files changed

Lines changed: 41 additions & 1 deletion

File tree

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
setup(
55
name='libComXML',
66
version='2.1.0',
7-
url='http://git.gisce.lan/libComXML.git',
7+
url='https://github.com/gisce/libComXML',
88
author='GISCE Enginyeria, SL',
99
author_email='devel@gisce.net',
1010
packages=find_packages(),

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)