Skip to content

Commit ddfddb9

Browse files
committed
Tokeniser updates to match spec: missing attribute values (r2122), lowercase doctype names (r2502)
--HG-- extra : convert_revision : svn%3Aacbfec75-9323-0410-a652-858a13e371e0/trunk%401247
1 parent 0d0282b commit ddfddb9

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/html5lib/constants.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@
6464
_(u"Unexpected end of file. Expected = or end of tag."),
6565
"expected-attribute-value-but-got-eof":
6666
_(u"Unexpected end of file. Expected attribute value."),
67+
"expected-attribute-value-but-got-right-bracket":
68+
_(u"Expected attribute value. Got '>' instead."),
6769
"eof-in-attribute-value-double-quote":
6870
_(u"Unexpected end of file in attribute value (\")."),
6971
"eof-in-attribute-value-single-quote":

src/html5lib/tokenizer.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,8 @@ def beforeAttributeValueState(self):
615615
elif data == u"'":
616616
self.state = self.states["attributeValueSingleQuoted"]
617617
elif data == u">":
618+
self.tokenQueue.append({"type": "ParseError", "data":
619+
"expected-attribute-value-but-got-right-bracket"})
618620
self.emitCurrentToken()
619621
elif data == u"=":
620622
self.tokenQueue.append({"type": "ParseError", "data":
@@ -888,14 +890,17 @@ def beforeDoctypeNameState(self):
888890
def doctypeNameState(self):
889891
data = self.stream.char()
890892
if data in spaceCharacters:
893+
self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower)
891894
self.state = self.states["afterDoctypeName"]
892895
elif data == u">":
896+
self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower)
893897
self.tokenQueue.append(self.currentToken)
894898
self.state = self.states["data"]
895899
elif data is EOF:
896900
self.tokenQueue.append({"type": "ParseError", "data":
897901
"eof-in-doctype-name"})
898902
self.currentToken["correct"] = False
903+
self.currentToken["name"] = self.currentToken["name"].translate(asciiUpper2Lower)
899904
self.tokenQueue.append(self.currentToken)
900905
self.state = self.states["data"]
901906
else:

0 commit comments

Comments
 (0)