Skip to content

Commit e170e3a

Browse files
committed
Use None to represent missing state for doctype name in tokenizer
Previously, the empty string was used, which should never occur per spec. This moves us to being more closely in line with the spec.
1 parent 5fe8de2 commit e170e3a

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

html5lib/tokenizer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1134,7 +1134,7 @@ def markupDeclarationOpenState(self):
11341134
break
11351135
if matched:
11361136
self.currentToken = {"type": tokenTypes["Doctype"],
1137-
"name": "",
1137+
"name": None,
11381138
"publicId": None, "systemId": None,
11391139
"correct": True}
11401140
self.state = self.doctypeState

html5lib/treebuilders/etree.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ def _setData(self, value):
161161
class DocumentType(Element):
162162
def __init__(self, name, publicId, systemId):
163163
Element.__init__(self, "<!DOCTYPE>")
164-
self._element.text = name
164+
assert name is None or len(name) > 0
165+
self._element.text = name if name else ""
165166
self.publicId = publicId
166167
self.systemId = systemId
167168

0 commit comments

Comments
 (0)