Mercurial > genshi > mirror
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')) |