Skip to content

Commit d0fa00f

Browse files
author
James Graham
committed
Fix handling of option
1 parent 15d6158 commit d0fa00f

File tree

3 files changed

+3
-4
lines changed

3 files changed

+3
-4
lines changed

html5lib/html5parser.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1538,9 +1538,10 @@ def endTagBr(self, token):
15381538
def endTagOther(self, token):
15391539
for node in self.tree.openElements[::-1]:
15401540
if node.name == token["name"]:
1541-
self.tree.generateImpliedEndTags()
1541+
self.tree.generateImpliedEndTags(exclude=token["name"])
15421542
if self.tree.openElements[-1].name != token["name"]:
15431543
self.parser.parseError("unexpected-end-tag", {"name": token["name"]})
1544+
print self.tree.openElements
15441545
while self.tree.openElements.pop() != node:
15451546
pass
15461547
break

html5lib/tests/support.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
from html5lib import html5parser, treebuilders
2424
del base_path
2525

26-
import simplejson
27-
2826
#Build a dict of avaliable trees
2927
treeTypes = {"simpletree":treebuilders.getTreeBuilder("simpletree"),
3028
"DOM":treebuilders.getTreeBuilder("dom")}

html5lib/treebuilders/_base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ def getTableMisnestedNodePosition(self):
321321
def generateImpliedEndTags(self, exclude=None):
322322
name = self.openElements[-1].name
323323
# XXX td, th and tr are not actually needed
324-
if (name in frozenset(("dd", "dt", "li", "p", "td", "th", "tr"))
324+
if (name in frozenset(("dd", "dt", "li", "option", "optgroup", "p", "rp", "rt"))
325325
and name != exclude):
326326
self.openElements.pop()
327327
# XXX This is not entirely what the specification says. We should

0 commit comments

Comments
 (0)