diff -r 5c45d0ca984f Lib/test/test_html.py
--- a/Lib/test/test_html.py Mon Apr 22 20:20:54 2013 +0300
+++ b/Lib/test/test_html.py Mon Apr 22 20:19:08 2013 +0100
@@ -5,6 +5,7 @@
import html
import unittest
from test.support import run_unittest
+from html.parser import HTMLParser
class HtmlTests(unittest.TestCase):
@@ -16,6 +17,31 @@
html.escape('\'\'', False),
'\'<script>"&foo;"</script>\'')
+ def test_parser_feed_incomplete_xml_entity_at_end(self):
+ p = HTMLParser()
+ p.feed('a&b')
+ p.close()
+ self.assertEqual((1,3), p.getpos())
+
+ def test_parser_feed_incomplete_xml_entity_space_at_end(self):
+ p = HTMLParser()
+ p.feed('a&b ')
+ p.close()
+ self.assertEqual((1,4), p.getpos())
+
+ def test_parser_feed_incomplete_xml_entity_multiple_chunks(self):
+ p = HTMLParser()
+ p.feed('a&b')
+ p.feed(';')
+ p.close()
+ self.assertEqual((1,4), p.getpos())
+
+ def test_parser_feed_illegal_space_after_ampersand(self):
+ p = HTMLParser()
+ p.feed('a & b')
+ p.close()
+ self.assertEqual((1,5), p.getpos())
+
def test_main():
run_unittest(HtmlTests)