File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 ))
You can’t perform that action at this time.
0 commit comments