|
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