@@ -865,6 +865,12 @@ def doctypePublicIdentifierDoubleQuotedState(self):
865865 data = self .stream .char ()
866866 if data == "\" " :
867867 self .state = self .states ["afterDoctypePublicIdentifier" ]
868+ elif data == ">" :
869+ self .tokenQueue .append ({"type" : "ParseError" , "data" :
870+ "unexpected-end-of-doctype" })
871+ self .currentToken ["correct" ] = False
872+ self .tokenQueue .append (self .currentToken )
873+ self .state = self .states ["data" ]
868874 elif data == EOF :
869875 self .tokenQueue .append ({"type" : "ParseError" , "data" :
870876 "eof-in-doctype" })
@@ -879,6 +885,12 @@ def doctypePublicIdentifierSingleQuotedState(self):
879885 data = self .stream .char ()
880886 if data == "'" :
881887 self .state = self .states ["afterDoctypePublicIdentifier" ]
888+ elif data == ">" :
889+ self .tokenQueue .append ({"type" : "ParseError" , "data" :
890+ "unexpected-end-of-doctype" })
891+ self .currentToken ["correct" ] = False
892+ self .tokenQueue .append (self .currentToken )
893+ self .state = self .states ["data" ]
882894 elif data == EOF :
883895 self .tokenQueue .append ({"type" : "ParseError" , "data" :
884896 "eof-in-doctype" })
@@ -946,6 +958,12 @@ def doctypeSystemIdentifierDoubleQuotedState(self):
946958 data = self .stream .char ()
947959 if data == "\" " :
948960 self .state = self .states ["afterDoctypeSystemIdentifier" ]
961+ elif data == ">" :
962+ self .tokenQueue .append ({"type" : "ParseError" , "data" :
963+ "unexpected-end-of-doctype" })
964+ self .currentToken ["correct" ] = False
965+ self .tokenQueue .append (self .currentToken )
966+ self .state = self .states ["data" ]
949967 elif data == EOF :
950968 self .tokenQueue .append ({"type" : "ParseError" , "data" :
951969 "eof-in-doctype" })
@@ -960,6 +978,12 @@ def doctypeSystemIdentifierSingleQuotedState(self):
960978 data = self .stream .char ()
961979 if data == "'" :
962980 self .state = self .states ["afterDoctypeSystemIdentifier" ]
981+ elif data == ">" :
982+ self .tokenQueue .append ({"type" : "ParseError" , "data" :
983+ "unexpected-end-of-doctype" })
984+ self .currentToken ["correct" ] = False
985+ self .tokenQueue .append (self .currentToken )
986+ self .state = self .states ["data" ]
963987 elif data == EOF :
964988 self .tokenQueue .append ({"type" : "ParseError" , "data" :
965989 "eof-in-doctype" })
0 commit comments