|
11 | 11 | unittest.TestCase.assertEqual = unittest.TestCase.assertEquals
|
12 | 12 |
|
13 | 13 | import html5lib
|
14 |
| -from html5lib import serializer, constants |
15 |
| -from html5lib.filters.alphabeticalattributes import Filter as AlphabeticalAttributesFilter |
| 14 | +from html5lib import constants |
| 15 | +from html5lib.serializer import HTMLSerializer, serialize |
16 | 16 | from html5lib.treewalkers._base import TreeWalker
|
17 | 17 |
|
18 | 18 | optionals_loaded = []
|
@@ -82,8 +82,9 @@ def _convertAttrib(self, attribs):
|
82 | 82 |
|
83 | 83 | def serialize_html(input, options):
|
84 | 84 | options = dict([(str(k), v) for k, v in options.items()])
|
85 |
| - stream = AlphabeticalAttributesFilter(JsonWalker(input)) |
86 |
| - return serializer.HTMLSerializer(**options).render(stream, options.get("encoding", None)) |
| 85 | + stream = JsonWalker(input) |
| 86 | + serializer = HTMLSerializer(alphabetical_attributes=True, **options) |
| 87 | + return serializer.render(stream, options.get("encoding", None)) |
87 | 88 |
|
88 | 89 |
|
89 | 90 | def runSerializerTest(input, expected, options):
|
@@ -147,24 +148,24 @@ class LxmlTestCase(unittest.TestCase):
|
147 | 148 | def setUp(self):
|
148 | 149 | self.parser = etree.XMLParser(resolve_entities=False)
|
149 | 150 | self.treewalker = html5lib.getTreeWalker("lxml")
|
150 |
| - self.serializer = serializer.HTMLSerializer() |
| 151 | + self.serializer = HTMLSerializer() |
151 | 152 |
|
152 | 153 | def testEntityReplacement(self):
|
153 | 154 | doc = """<!DOCTYPE html SYSTEM "about:legacy-compat"><html>β</html>"""
|
154 | 155 | tree = etree.fromstring(doc, parser=self.parser).getroottree()
|
155 |
| - result = serializer.serialize(tree, tree="lxml", omit_optional_tags=False) |
| 156 | + result = serialize(tree, tree="lxml", omit_optional_tags=False) |
156 | 157 | self.assertEqual("""<!DOCTYPE html SYSTEM "about:legacy-compat"><html>\u03B2</html>""", result)
|
157 | 158 |
|
158 | 159 | def testEntityXML(self):
|
159 | 160 | doc = """<!DOCTYPE html SYSTEM "about:legacy-compat"><html>></html>"""
|
160 | 161 | tree = etree.fromstring(doc, parser=self.parser).getroottree()
|
161 |
| - result = serializer.serialize(tree, tree="lxml", omit_optional_tags=False) |
| 162 | + result = serialize(tree, tree="lxml", omit_optional_tags=False) |
162 | 163 | self.assertEqual("""<!DOCTYPE html SYSTEM "about:legacy-compat"><html>></html>""", result)
|
163 | 164 |
|
164 | 165 | def testEntityNoResolve(self):
|
165 | 166 | doc = """<!DOCTYPE html SYSTEM "about:legacy-compat"><html>β</html>"""
|
166 | 167 | tree = etree.fromstring(doc, parser=self.parser).getroottree()
|
167 |
| - result = serializer.serialize(tree, tree="lxml", omit_optional_tags=False, |
| 168 | + result = serialize(tree, tree="lxml", omit_optional_tags=False, |
168 | 169 | resolve_entities=False)
|
169 | 170 | self.assertEqual("""<!DOCTYPE html SYSTEM "about:legacy-compat"><html>β</html>""", result)
|
170 | 171 |
|
|
0 commit comments