comparison genshi/tests/input.py @ 965:2bfd8f8d241c trunk

Fix parsing of multi-byte characters that occur on 4K boundaries of HTML files (fixes #538).
author hodgestar
date Sat, 29 Dec 2012 13:02:20 +0000
parents 18209925c54e
children 0f4b2e892a48
comparison
equal deleted inserted replaced
963:99d4c481e4eb 965:2bfd8f8d241c
251 self.assertEqual(3, len(events)) 251 self.assertEqual(3, len(events))
252 self.assertEqual((Stream.START, ('span', ())), events[0][:2]) 252 self.assertEqual((Stream.START, ('span', ())), events[0][:2])
253 self.assertEqual((Stream.TEXT, "'"), events[1][:2]) 253 self.assertEqual((Stream.TEXT, "'"), events[1][:2])
254 self.assertEqual((Stream.END, 'span'), events[2][:2]) 254 self.assertEqual((Stream.END, 'span'), events[2][:2])
255 255
256 def test_multibyte_character_on_chunk_boundary(self):
257 text = u'a' * ((4 * 1024) - 1) + u'\xe6'
258 events = list(HTMLParser(BytesIO(text.encode('utf-8')),
259 encoding='utf-8'))
260 self.assertEqual(1, len(events))
261 self.assertEqual((Stream.TEXT, text), events[0][:2])
262
256 263
257 def suite(): 264 def suite():
258 suite = unittest.TestSuite() 265 suite = unittest.TestSuite()
259 suite.addTest(doctest.DocTestSuite(XMLParser.__module__)) 266 suite.addTest(doctest.DocTestSuite(XMLParser.__module__))
260 suite.addTest(unittest.makeSuite(XMLParserTestCase, 'test')) 267 suite.addTest(unittest.makeSuite(XMLParserTestCase, 'test'))
Copyright (C) 2012-2017 Edgewall Software