diff options
| author | scoder <none@none> | 2006-05-05 09:15:08 +0200 |
|---|---|---|
| committer | scoder <none@none> | 2006-05-05 09:15:08 +0200 |
| commit | 067241316627bb982ce1d4df83f446fb78067459 (patch) | |
| tree | dd6eb9c36614ebe4f67e2a91307190e1df556af6 /src/lxml/tests/test_htmlparser.py | |
| parent | fa32f845bc14a32c5dc5f718234ebb3e138590bf (diff) | |
| download | python-lxml-067241316627bb982ce1d4df83f446fb78067459.tar.gz | |
[svn r1070] only parse file-like objects on libxml2 >= 2.6.24 due to CRLF bug, fix UTF-8 conversion in HTML file-like parser
--HG--
branch : trunk
Diffstat (limited to 'src/lxml/tests/test_htmlparser.py')
| -rw-r--r-- | src/lxml/tests/test_htmlparser.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lxml/tests/test_htmlparser.py b/src/lxml/tests/test_htmlparser.py index cb2c6ef4..8f73eb23 100644 --- a/src/lxml/tests/test_htmlparser.py +++ b/src/lxml/tests/test_htmlparser.py @@ -1,4 +1,4 @@ -# -*- coding: UTF-8 -*- +# -*- coding: utf-8 -*- """ HTML parser test cases for etree @@ -6,6 +6,7 @@ HTML parser test cases for etree import unittest import tempfile +import re from common_imports import StringIO, etree, fileInTestDir, SillyFileLike, HelperTestCase @@ -16,6 +17,7 @@ class HtmlParserTestCaseBase(HelperTestCase): html_str = "<html><head><title>test</title></head><body><h1>page title</h1></body></html>" broken_html_str = "<html><head><title>test<body><h1>page title</h3></p></html>" + uhtml_str = u"<html><head><title>test á\uF8D2</title></head><body><h1>page á\uF8D2 title</h1></body></html>" def tearDown(self): self.etree.set_default_parser() @@ -56,6 +58,15 @@ class HtmlParserTestCaseBase(HelperTestCase): tree = self.etree.parse(f, parser) self.assertEqual(self.etree.tostring(tree.getroot()), self.html_str) + def test_module_parse_html_filelike(self): + parser = self.etree.HTMLParser() + f = SillyFileLike(self.uhtml_str) + tree = self.etree.parse(f, parser) + html = self.etree.tostring(tree.getroot()) + for entity_name, value in re.findall("(&#([0-9]+);)", html): + html = html.replace(entity_name, unichr(int(value))) + self.assertEqual(html, self.uhtml_str) + def test_html_file_error(self): parser = self.etree.HTMLParser() parse = self.etree.parse |
