comparison genshi/tests/input.py @ 996:0f4b2e892a48 trunk

Fix handling of processing instructions that don't have data attached (patch from Neil Muller, fixes #368).
author hodgestar
date Sat, 26 Jan 2013 17:26:47 +0000
parents 2bfd8f8d241c
children
comparison
equal deleted inserted replaced
994:16ccaf7389d5 996:0f4b2e892a48
175 kind, (target, data), pos = events[0] 175 kind, (target, data), pos = events[0]
176 self.assertEqual(Stream.PI, kind) 176 self.assertEqual(Stream.PI, kind)
177 self.assertEqual('php', target) 177 self.assertEqual('php', target)
178 self.assertEqual('echo "Foobar"', data) 178 self.assertEqual('echo "Foobar"', data)
179 179
180 def test_processing_instruction_no_data_1(self):
181 text = u'<?foo ?>'
182 events = list(HTMLParser(StringIO(text)))
183 kind, (target, data), pos = events[0]
184 self.assertEqual(Stream.PI, kind)
185 self.assertEqual('foo', target)
186 self.assertEqual('', data)
187
188 def test_processing_instruction_no_data_2(self):
189 text = u'<?experiment>...<?/experiment>'
190 events = list(HTMLParser(StringIO(text)))
191 kind, (target, data), pos = events[0]
192 self.assertEqual(Stream.PI, kind)
193 self.assertEqual('experiment', target)
194 self.assertEqual('', data)
195 kind, (target, data), pos = events[2]
196 self.assertEqual('/experiment', target)
197 self.assertEqual('', data)
198
180 def test_xmldecl(self): 199 def test_xmldecl(self):
181 text = '<?xml version="1.0" ?><root />' 200 text = '<?xml version="1.0" ?><root />'
182 events = list(XMLParser(StringIO(text))) 201 events = list(XMLParser(StringIO(text)))
183 kind, (version, encoding, standalone), pos = events[0] 202 kind, (version, encoding, standalone), pos = events[0]
184 self.assertEqual(Stream.XML_DECL, kind) 203 self.assertEqual(Stream.XML_DECL, kind)
Copyright (C) 2012-2017 Edgewall Software