Skip to content

Commit 559cf5c

Browse files
author
James Graham
committed
Don't emit token from EOF in attributes. Remove comment end space state
1 parent d6e7248 commit 559cf5c

File tree

1 file changed

+5
-31
lines changed

1 file changed

+5
-31
lines changed

html5lib/tokenizer.py

Lines changed: 5 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,6 @@ def attributeNameState(self):
844844
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
845845
"eof-in-attribute-name"})
846846
self.state = self.dataState
847-
emitToken = True
848847
else:
849848
self.currentToken["data"][-1][0] += data
850849
leavingThisState = False
@@ -887,7 +886,7 @@ def afterAttributeNameState(self):
887886
elif data is EOF:
888887
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
889888
"expected-end-of-tag-but-got-eof"})
890-
self.emitCurrentToken()
889+
self.state = self.dataState
891890
else:
892891
self.currentToken["data"].append([data, ""])
893892
self.state = self.attributeNameState
@@ -916,7 +915,7 @@ def beforeAttributeValueState(self):
916915
elif data is EOF:
917916
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
918917
"expected-attribute-value-but-got-eof"})
919-
self.emitCurrentToken()
918+
self.state = self.dataState
920919
else:
921920
self.currentToken["data"][-1][1] += data
922921
self.state = self.attributeValueUnQuotedState
@@ -931,7 +930,7 @@ def attributeValueDoubleQuotedState(self):
931930
elif data is EOF:
932931
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
933932
"eof-in-attribute-value-double-quote"})
934-
self.emitCurrentToken()
933+
self.state = self.dataState
935934
else:
936935
self.currentToken["data"][-1][1] += data +\
937936
self.stream.charsUntil(("\"", u"&"))
@@ -946,7 +945,7 @@ def attributeValueSingleQuotedState(self):
946945
elif data is EOF:
947946
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
948947
"eof-in-attribute-value-single-quote"})
949-
self.emitCurrentToken()
948+
self.state = self.dataState
950949
else:
951950
self.currentToken["data"][-1][1] += data +\
952951
self.stream.charsUntil(("'", u"&"))
@@ -967,7 +966,7 @@ def attributeValueUnQuotedState(self):
967966
elif data is EOF:
968967
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
969968
"eof-in-attribute-value-no-quotes"})
970-
self.emitCurrentToken()
969+
self.state = self.dataState
971970
else:
972971
self.currentToken["data"][-1][1] += data + self.stream.charsUntil(
973972
frozenset((u"&", u">", u'"', u"'", u"=", u"<", u"`")) | spaceCharacters)
@@ -984,7 +983,6 @@ def afterAttributeValueState(self):
984983
elif data is EOF:
985984
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
986985
"unexpected-EOF-after-attribute-value"})
987-
self.emitCurrentToken()
988986
self.stream.unget(data)
989987
self.state = self.dataState
990988
else:
@@ -1151,11 +1149,6 @@ def commentEndState(self):
11511149
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
11521150
"unexpected-dash-after-double-dash-in-comment"})
11531151
self.currentToken["data"] += data
1154-
elif data in spaceCharacters:
1155-
self.currentToken["data"] += "--" + data
1156-
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
1157-
"unexpected-space-after-double-dash-in-comment"})
1158-
self.state = self.commentEndSpaceState
11591152
elif data == "!":
11601153
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
11611154
"unexpected-bang-after-double-dash-in-comment"})
@@ -1191,25 +1184,6 @@ def commentEndBangState(self):
11911184
self.state = self.commentState
11921185
return True
11931186

1194-
def commentEndSpaceState(self):
1195-
data = self.stream.char()
1196-
if data == u">":
1197-
self.tokenQueue.append(self.currentToken)
1198-
self.state = self.dataState
1199-
elif data == u"-":
1200-
self.state = self.commentEndDashState
1201-
elif data in spaceCharacters:
1202-
self.currentToken["data"] += data
1203-
elif data is EOF:
1204-
self.tokenQueue.append({"type": tokenTypes["ParseError"], "data":
1205-
"eof-in-comment-end-space-state"})
1206-
self.tokenQueue.append(self.currentToken)
1207-
self.state = self.dataState
1208-
else:
1209-
self.currentToken["data"] += data
1210-
self.state = self.commentState
1211-
return True
1212-
12131187
def doctypeState(self):
12141188
data = self.stream.char()
12151189
if data in spaceCharacters:

0 commit comments

Comments
 (0)