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

Commitd0d5186

Browse files
committed
Serialize system/public id in tests
--HG--extra : convert_revision : svn%3Aacbfec75-9323-0410-a652-858a13e371e0/trunk%401130
1 parentc86e113 commitd0d5186

File tree

4 files changed

+37
-5
lines changed

4 files changed

+37
-5
lines changed

‎src/html5lib/treebuilders/dom.py‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,13 @@ def testSerializer(element):
138138
defserializeElement(element,indent=0):
139139
ifelement.nodeType==Node.DOCUMENT_TYPE_NODE:
140140
ifelement.name:
141-
rv.append("|%s<!DOCTYPE %s>"%(' '*indent,element.name))
141+
ifelement.publicIdorelement.systemId:
142+
publicId=element.publicIdor""
143+
systemId=element.systemIdor""
144+
rv.append("""|%s<!DOCTYPE %s PUBLIC "%s" "%s">"""%(
145+
' '*indent,element.name,publicId,systemId))
146+
else:
147+
rv.append("|%s<!DOCTYPE %s>"%(' '*indent,element.name))
142148
else:
143149
rv.append("|%s<!DOCTYPE >"%(' '*indent,))
144150
elifelement.nodeType==Node.DOCUMENT_NODE:

‎src/html5lib/treebuilders/etree.py‎

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,13 @@ def serializeElement(element, indent=0):
169169
ifnot(hasattr(element,"tag")):
170170
element=element.getroot()
171171
ifelement.tag=="<!DOCTYPE>":
172-
rv.append("|%s<!DOCTYPE %s>"%(' '*indent,element.text))
172+
ifelement.get("publicId")orelement.get("systemId"):
173+
publicId=element.get("publicId")or""
174+
systemId=element.get("systemId")or""
175+
rv.append("""<!DOCTYPE %s PUBLIC "%s" "%s">"""%(
176+
element.text,publicId,systemId))
177+
else:
178+
rv.append("<!DOCTYPE %s>"%(element.text,))
173179
elifelement.tag=="<DOCUMENT_ROOT>":
174180
rv.append("#document")
175181
ifelement.text:
@@ -206,7 +212,13 @@ def serializeElement(element):
206212
element=element.getroot()
207213

208214
ifelement.tag=="<!DOCTYPE>":
209-
rv.append("<!DOCTYPE %s>"%(element.text,))
215+
ifelement.get("publicId")orelement.get("systemId"):
216+
publicId=element.get("publicId")or""
217+
systemId=element.get("systemId")or""
218+
rv.append("""<!DOCTYPE %s PUBLIC "%s" "%s">"""%(
219+
element.text,publicId,systemId))
220+
else:
221+
rv.append("<!DOCTYPE %s>"%(element.text,))
210222
elifelement.tag=="<DOCUMENT_ROOT>":
211223
ifelement.text:
212224
rv.append(element.text)

‎src/html5lib/treebuilders/simpletree.py‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,15 @@ def __init__(self, name):
112112
self.systemId=u""
113113

114114
def__unicode__(self):
115-
returnu"<!DOCTYPE %s>"%self.name
115+
ifself.publicIdorself.systemId:
116+
publicId=self.publicIdor""
117+
systemId=self.systemIdor""
118+
return"""<!DOCTYPE %s PUBLIC "%s" "%s">"""%(
119+
self.name,publicId,systemId)
120+
121+
else:
122+
returnu"<!DOCTYPE %s>"%self.name
123+
116124

117125
toxml=__unicode__
118126

‎src/html5lib/treebuilders/soup.py‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,12 @@ def documentClass(self):
104104
returnElement(self.soup,self.soup)
105105

106106
definsertDoctype(self,name,publicId,systemId):
107-
self.soup.insert(0,Declaration(name))
107+
ifpublicIdorsystemId:
108+
publicId=publicIdor""
109+
systemId=systemIdor""
110+
self.soup.insert(0,Declaration("%s PUBLIC\"%s\"\"%s\""%(name,publicId,systemId)))
111+
else:
112+
self.soup.insert(0,Declaration(name))
108113

109114
defelementClass(self,name):
110115
returnElement(Tag(self.soup,name),self.soup)
@@ -134,6 +139,7 @@ def testSerializer(element):
134139
defserializeElement(element,indent=0):
135140
ifisinstance(element,Declaration):
136141
rv.append("|%s<!DOCTYPE %s>"%(' '*indent,element.string))
142+
137143
elifisinstance(element,BeautifulSoup):
138144
ifelement.name=="[document_fragment]":
139145
rv.append("#document-fragment")

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp