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

Commitbd4ad51

Browse files
committed
Make treewalker tests deal gracefully with warnings and add public/sys id support to pulldom
--HG--extra : convert_revision : svn%3Aacbfec75-9323-0410-a652-858a13e371e0/trunk%401140
1 parent0148007 commitbd4ad51

File tree

1 file changed

+23
-8
lines changed

1 file changed

+23
-8
lines changed

‎tests/test_treewalkers.py

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22
importsys
33
importStringIO
44
importunittest
5+
importwarnings
6+
7+
warnings.simplefilter("error")
58

69
fromsupportimporthtml5lib_test_files,TestData,convertExpected
710

8-
fromhtml5libimporthtml5parser,treewalkers,treebuilders
11+
fromhtml5libimporthtml5parser,treewalkers,treebuilders,constants
912
fromhtml5lib.filters.lintimportFilterasLintFilter,LintError
1013

1114
defPullDOMAdapter(node):
@@ -137,7 +140,8 @@ def GenshiAdapter(tree):
137140
yieldCOMMENT,token["data"], (None,-1,-1)
138141

139142
eliftype=="Doctype":
140-
yieldDOCTYPE, (token["name"],None,None), (None,-1,-1)
143+
yieldDOCTYPE, (token["name"],token["publicId"],
144+
token["systemId"]), (None,-1,-1)
141145

142146
else:
143147
pass# FIXME: What to do?
@@ -192,7 +196,14 @@ def convertTokens(tokens):
192196
output.append("%s<!-- %s -->"% (" "*indent,token["data"]))
193197
eliftype=="Doctype":
194198
iftoken["name"]:
195-
output.append("%s<!DOCTYPE %s>"% (" "*indent,token["name"]))
199+
iftoken["publicId"]ortoken["systemId"]:
200+
output.append("""%s<!DOCTYPE %s "%s" "%s">"""%
201+
(" "*indent,token["name"],
202+
token["publicId"],
203+
token["systemId"]))
204+
else:
205+
output.append("%s<!DOCTYPE %s>"%(" "*indent,
206+
token["name"]))
196207
else:
197208
output.append("%s<!DOCTYPE >"% (" "*indent,))
198209
eliftypein ("Characters","SpaceCharacters"):
@@ -211,11 +222,15 @@ def sortattrs(x):
211222
classTestCase(unittest.TestCase):
212223
defrunTest(self,innerHTML,input,expected,errors,treeClass):
213224
p=html5parser.HTMLParser(tree=treeClass["builder"])
214-
215-
ifinnerHTML:
216-
document=p.parseFragment(StringIO.StringIO(input),innerHTML)
217-
else:
218-
document=p.parse(StringIO.StringIO(input))
225+
226+
try:
227+
ifinnerHTML:
228+
document=p.parseFragment(StringIO.StringIO(input),innerHTML)
229+
else:
230+
document=p.parse(StringIO.StringIO(input))
231+
exceptconstants.DataLossWarning:
232+
#Ignore testcases we know we don't pass
233+
return
219234
document=treeClass.get("adapter",lambdax:x)(document)
220235
try:
221236
output=convertTokens(treeClass["walker"](document))

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp