|
11 | 11 | unittest.TestCase.assertEqual=unittest.TestCase.assertEquals
|
12 | 12 |
|
13 | 13 | importhtml5lib
|
14 |
| -fromhtml5libimportserializer,constants |
15 |
| -fromhtml5lib.filters.alphabeticalattributesimportFilterasAlphabeticalAttributesFilter |
| 14 | +fromhtml5libimportconstants |
| 15 | +fromhtml5lib.serializerimportHTMLSerializer,serialize |
16 | 16 | fromhtml5lib.treewalkers._baseimportTreeWalker
|
17 | 17 |
|
18 | 18 | optionals_loaded= []
|
@@ -82,8 +82,9 @@ def _convertAttrib(self, attribs):
|
82 | 82 |
|
83 | 83 | defserialize_html(input,options):
|
84 | 84 | options=dict([(str(k),v)fork,vinoptions.items()])
|
85 |
| -stream=AlphabeticalAttributesFilter(JsonWalker(input)) |
86 |
| -returnserializer.HTMLSerializer(**options).render(stream,options.get("encoding",None)) |
| 85 | +stream=JsonWalker(input) |
| 86 | +serializer=HTMLSerializer(alphabetical_attributes=True,**options) |
| 87 | +returnserializer.render(stream,options.get("encoding",None)) |
87 | 88 |
|
88 | 89 |
|
89 | 90 | defrunSerializerTest(input,expected,options):
|
@@ -147,24 +148,24 @@ class LxmlTestCase(unittest.TestCase):
|
147 | 148 | defsetUp(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 | deftestEntityReplacement(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 | deftestEntityXML(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 | deftestEntityNoResolve(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 |
|
|