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

Commit11bdb49

Browse files
jdufresnegsnedders
authored andcommitted
Make self closing col start tags not cause a parse error (#244)
1 parentfbce67d commit11bdb49

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

‎AUTHORS.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,4 @@ Patches and suggestions
4141
- Jim Baker
4242
- Michael[tm] Smith
4343
- Marc Abramowitz
44+
- Jon Dufresne

‎html5lib/html5parser.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,10 @@ def mainLoop(self):
171171
ParseErrorToken=tokenTypes["ParseError"]
172172

173173
fortokeninself.normalizedTokens():
174+
prev_token=None
174175
new_token=token
175176
whilenew_tokenisnotNone:
177+
prev_token=new_token
176178
currentNode=self.tree.openElements[-1]ifself.tree.openElementselseNone
177179
currentNodeNamespace=currentNode.namespaceifcurrentNodeelseNone
178180
currentNodeName=currentNode.nameifcurrentNodeelseNone
@@ -211,10 +213,10 @@ def mainLoop(self):
211213
eliftype==DoctypeToken:
212214
new_token=phase.processDoctype(new_token)
213215

214-
if (type==StartTagTokenandtoken["selfClosing"]and
215-
nottoken["selfClosingAcknowledged"]):
216+
if (type==StartTagTokenandprev_token["selfClosing"]and
217+
notprev_token["selfClosingAcknowledged"]):
216218
self.parseError("non-void-element-with-trailing-solidus",
217-
{"name":token["name"]})
219+
{"name":prev_token["name"]})
218220

219221
# When the loop finishes it's EOF
220222
reprocess=True
@@ -1933,6 +1935,7 @@ def processCharacters(self, token):
19331935
defstartTagCol(self,token):
19341936
self.tree.insertElement(token)
19351937
self.tree.openElements.pop()
1938+
token["selfClosingAcknowledged"]=True
19361939

19371940
defstartTagOther(self,token):
19381941
ignoreEndTag=self.ignoreEndTagColgroup()

‎html5lib/tests/test_parser2.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,9 @@ def test_debug_log():
9393
deftest_no_duplicate_clone():
9494
frag=parseFragment("<b><em><foo><foob><fooc><aside></b></em>")
9595
assertlen(frag)==2
96+
97+
98+
deftest_self_closing_col():
99+
parser=HTMLParser()
100+
parser.parseFragment('<table><colgroup><col /></colgroup></table>')
101+
assertnotparser.errors

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp