Skip to content

Commit d359419

Browse files
author
Edward Z. Yang ext:(%22)
committed
Fix broken test-case w.r.t. behavior of </html> in head.
1 parent bd1718f commit d359419

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

src/html5lib/html5parser.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ def mainLoop(self):
140140
tokenTypes["Doctype"])
141141

142142
for token in self.normalizedTokens():
143+
#print self.phase.__class__.__name__
144+
#print token
143145
type = token["type"]
144146
if type == CharactersToken:
145147
self.phase.processCharacters(token["data"])
@@ -562,7 +564,7 @@ def __init__(self, parser, tree):
562564

563565
self. endTagHandler = utils.MethodDispatcher([
564566
("head", self.endTagHead),
565-
("br", self.endTagBr)
567+
(("html", "body", "br"), self.endTagBodyHtmlBr)
566568
])
567569
self.endTagHandler.default = self.endTagOther
568570

@@ -630,7 +632,7 @@ def endTagHead(self, name):
630632
assert node.name == "head"
631633
self.parser.phase = self.parser.phases["afterHead"]
632634

633-
def endTagBr(self, name):
635+
def endTagBodyHtmlBr(self, name):
634636
self.anythingElse()
635637
self.parser.phase.processEndTag(name)
636638

@@ -659,7 +661,7 @@ def __init__(self, parser, tree):
659661
("head", self.startTagHead)
660662
])
661663
self.startTagHandler.default = self.startTagOther
662-
self.endTagHandler = utils.MethodDispatcher([("br", self.endTagBr)])
664+
self.endTagHandler = utils.MethodDispatcher([(("body", "html", "br"), self.endTagBodyHtmlBr)])
663665
self.endTagHandler.default = self.endTagOther
664666

665667
def processEOF(self):
@@ -695,10 +697,10 @@ def startTagOther(self, name, attributes):
695697
self.anythingElse()
696698
self.parser.phase.processStartTag(name, attributes)
697699

698-
def endTagBr(self, name):
700+
def endTagBodyHtmlBr(self, name):
699701
#This is not currently in the spec
700702
self.anythingElse()
701-
self.parser.phase.processEndTag("br")
703+
self.parser.phase.processEndTag(name)
702704

703705
def endTagOther(self, name):
704706
self.parser.parseError("unexpected-end-tag", {"name":name})

0 commit comments

Comments
 (0)