summaryrefslogtreecommitdiff
path: root/src/lxml/tests/test_htmlparser.py
diff options
context:
space:
mode:
authorscoder <none@none>2006-05-05 09:15:08 +0200
committerscoder <none@none>2006-05-05 09:15:08 +0200
commit067241316627bb982ce1d4df83f446fb78067459 (patch)
treedd6eb9c36614ebe4f67e2a91307190e1df556af6 /src/lxml/tests/test_htmlparser.py
parentfa32f845bc14a32c5dc5f718234ebb3e138590bf (diff)
downloadpython-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.py13
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