Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit6bd01d0

Browse files
committed
Get rid of unittest from test_serializer.py
1 parent2bd05f7 commit6bd01d0

File tree

1 file changed

+64
-56
lines changed

1 file changed

+64
-56
lines changed

‎html5lib/tests/test_serializer.py‎

Lines changed: 64 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,11 @@
22

33
importos
44
importjson
5-
importunittest
65

7-
from .supportimportget_data_files
6+
importpytest
87

9-
try:
10-
unittest.TestCase.assertEqual
11-
exceptAttributeError:
12-
unittest.TestCase.assertEqual=unittest.TestCase.assertEquals
8+
from .supportimportget_data_files
139

14-
importhtml5lib
1510
fromhtml5libimportconstants
1611
fromhtml5lib.filters.lintimportFilterasLint
1712
fromhtml5lib.serializerimportHTMLSerializer,serialize
@@ -102,70 +97,83 @@ def runSerializerTest(input, expected, options):
10297
assertFalse,"Expected: %s, Received: %s"% (expected,result)
10398

10499

105-
classEncodingTestCase(unittest.TestCase):
106-
defthrowsWithLatin1(self,input):
107-
self.assertRaises(UnicodeEncodeError,serialize_html,input, {"encoding":"iso-8859-1"})
100+
defthrowsWithLatin1(input):
101+
withpytest.raises(UnicodeEncodeError):
102+
serialize_html(input, {"encoding":"iso-8859-1"})
103+
104+
105+
deftestDoctypeName():
106+
throwsWithLatin1([["Doctype","\u0101"]])
107+
108+
109+
deftestDoctypePublicId():
110+
throwsWithLatin1([["Doctype","potato","\u0101"]])
111+
112+
113+
deftestDoctypeSystemId():
114+
throwsWithLatin1([["Doctype","potato","potato","\u0101"]])
115+
116+
117+
deftestCdataCharacters():
118+
runSerializerTest([["StartTag","http://www.w3.org/1999/xhtml","style", {}], ["Characters","\u0101"]],
119+
["<style>&amacr;"], {"encoding":"iso-8859-1"})
120+
121+
122+
deftestCharacters():
123+
runSerializerTest([["Characters","\u0101"]],
124+
["&amacr;"], {"encoding":"iso-8859-1"})
125+
126+
127+
deftestStartTagName():
128+
throwsWithLatin1([["StartTag","http://www.w3.org/1999/xhtml","\u0101", []]])
129+
108130

109-
deftestDoctypeName(self):
110-
self.throwsWithLatin1([["Doctype","\u0101"]])
131+
deftestAttributeName():
132+
throwsWithLatin1([["StartTag","http://www.w3.org/1999/xhtml","span", [{"namespace":None,"name":"\u0101","value":"potato"}]]])
111133

112-
deftestDoctypePublicId(self):
113-
self.throwsWithLatin1([["Doctype","potato","\u0101"]])
114134

115-
deftestDoctypeSystemId(self):
116-
self.throwsWithLatin1([["Doctype","potato","potato","\u0101"]])
135+
deftestAttributeValue():
136+
runSerializerTest([["StartTag","http://www.w3.org/1999/xhtml","span",
137+
[{"namespace":None,"name":"potato","value":"\u0101"}]]],
138+
["<span potato=&amacr;>"], {"encoding":"iso-8859-1"})
117139

118-
deftestCdataCharacters(self):
119-
runSerializerTest([["StartTag","http://www.w3.org/1999/xhtml","style", {}], ["Characters","\u0101"]],
120-
["<style>&amacr;"], {"encoding":"iso-8859-1"})
121140

122-
deftestCharacters(self):
123-
runSerializerTest([["Characters","\u0101"]],
124-
["&amacr;"], {"encoding":"iso-8859-1"})
141+
deftestEndTagName():
142+
throwsWithLatin1([["EndTag","http://www.w3.org/1999/xhtml","\u0101"]])
125143

126-
deftestStartTagName(self):
127-
self.throwsWithLatin1([["StartTag","http://www.w3.org/1999/xhtml","\u0101", []]])
128144

129-
deftestAttributeName(self):
130-
self.throwsWithLatin1([["StartTag","http://www.w3.org/1999/xhtml","span", [{"namespace":None,"name":"\u0101","value":"potato"}]]])
145+
deftestComment():
146+
throwsWithLatin1([["Comment","\u0101"]])
131147

132-
deftestAttributeValue(self):
133-
runSerializerTest([["StartTag","http://www.w3.org/1999/xhtml","span",
134-
[{"namespace":None,"name":"potato","value":"\u0101"}]]],
135-
["<span potato=&amacr;>"], {"encoding":"iso-8859-1"})
136148

137-
deftestEndTagName(self):
138-
self.throwsWithLatin1([["EndTag","http://www.w3.org/1999/xhtml","\u0101"]])
149+
@pytest.fixture
150+
deflxml_parser():
151+
returnetree.XMLParser(resolve_entities=False)
139152

140-
deftestComment(self):
141-
self.throwsWithLatin1([["Comment","\u0101"]])
142153

154+
@pytest.mark.skipif("lxml"notinoptionals_loaded,reason="lxml not importable")
155+
deftestEntityReplacement(lxml_parser):
156+
doc='<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&beta;</html>'
157+
tree=etree.fromstring(doc,parser=lxml_parser).getroottree()
158+
result=serialize(tree,tree="lxml",omit_optional_tags=False)
159+
assertresult=='<!DOCTYPE html SYSTEM "about:legacy-compat"><html>\u03B2</html>'
143160

144-
if"lxml"inoptionals_loaded:
145-
classLxmlTestCase(unittest.TestCase):
146-
defsetUp(self):
147-
self.parser=etree.XMLParser(resolve_entities=False)
148-
self.treewalker=html5lib.getTreeWalker("lxml")
149-
self.serializer=HTMLSerializer()
150161

151-
deftestEntityReplacement(self):
152-
doc="""<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&beta;</html>"""
153-
tree=etree.fromstring(doc,parser=self.parser).getroottree()
154-
result=serialize(tree,tree="lxml",omit_optional_tags=False)
155-
self.assertEqual("""<!DOCTYPE html SYSTEM "about:legacy-compat"><html>\u03B2</html>""",result)
162+
@pytest.mark.skipif("lxml"notinoptionals_loaded,reason="lxml not importable")
163+
deftestEntityXML(lxml_parser):
164+
doc='<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&gt;</html>'
165+
tree=etree.fromstring(doc,parser=lxml_parser).getroottree()
166+
result=serialize(tree,tree="lxml",omit_optional_tags=False)
167+
assertresult=='<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&gt;</html>'
156168

157-
deftestEntityXML(self):
158-
doc="""<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&gt;</html>"""
159-
tree=etree.fromstring(doc,parser=self.parser).getroottree()
160-
result=serialize(tree,tree="lxml",omit_optional_tags=False)
161-
self.assertEqual("""<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&gt;</html>""",result)
162169

163-
deftestEntityNoResolve(self):
164-
doc="""<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&beta;</html>"""
165-
tree=etree.fromstring(doc,parser=self.parser).getroottree()
166-
result=serialize(tree,tree="lxml",omit_optional_tags=False,
167-
resolve_entities=False)
168-
self.assertEqual("""<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&beta;</html>""",result)
170+
@pytest.mark.skipif("lxml"notinoptionals_loaded,reason="lxml not importable")
171+
deftestEntityNoResolve(lxml_parser):
172+
doc='<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&beta;</html>'
173+
tree=etree.fromstring(doc,parser=lxml_parser).getroottree()
174+
result=serialize(tree,tree="lxml",omit_optional_tags=False,
175+
resolve_entities=False)
176+
assertresult=='<!DOCTYPE html SYSTEM "about:legacy-compat"><html>&beta;</html>'
169177

170178

171179
deftest_serializer():

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp