Spaces Data
Minimal test - lines (1712, 1717)
path: .spaces[4].spaces[11].spaces[1].metrics.mi.mi_sei
old: 96.98440779997328
new: 122.27960628623046
path: .spaces[4].spaces[11].spaces[1].metrics.mi.mi_visual_studio
old: 69.87401900799014
new: 68.14676215415267
path: .spaces[4].spaces[11].spaces[1].metrics.mi.mi_original
old: 119.48457250366314
new: 116.53096328360108
path: .spaces[4].spaces[11].spaces[1].metrics.loc.sloc
old: 5.0
new: 6.0
path: .spaces[4].spaces[11].spaces[1].metrics.loc.cloc
old: 0.0
new: 1.0
Code
def processEOF(self):
if self.tree.openElements[-1].name != "html":
self.parser.parseError("eof-in-table")
else:
assert self.parser.innerHTML
# Stop parsing
Minimal test - lines (974, 982)
path: .spaces[4].spaces[9].spaces[3].metrics.loc.cloc
old: 0.0
new: 1.0
path: .spaces[4].spaces[9].spaces[3].metrics.loc.sloc
old: 8.0
new: 9.0
path: .spaces[4].spaces[9].spaces[3].metrics.mi.mi_visual_studio
old: 62.87618537479471
new: 61.76034608962897
path: .spaces[4].spaces[9].spaces[3].metrics.mi.mi_original
old: 107.51827699089895
new: 105.61019181326552
path: .spaces[4].spaces[9].spaces[3].metrics.mi.mi_sei
old: 79.72069260589649
new: 101.65544982288756
Code
def processEOF(self):
allowed_elements = frozenset(("dd", "dt", "li", "p", "tbody", "td",
"tfoot", "th", "thead", "tr", "body",
"html"))
for node in self.tree.openElements[::-1]:
if node.name not in allowed_elements:
self.parser.parseError("expected-closing-tag-but-got-eof")
break
# Stop parsing
Minimal test - lines (1681, 1686)
path: .spaces[4].spaces[10].spaces[3].metrics.mi.mi_visual_studio
old: 71.8129988447612
new: 67.97175045215752
path: .spaces[4].spaces[10].spaces[3].metrics.mi.mi_original
old: 122.80022802454164
new: 116.23169327318936
path: .spaces[4].spaces[10].spaces[3].metrics.mi.mi_sei
old: 101.66606771783631
new: 131.18220772540047
path: .spaces[4].spaces[10].spaces[3].metrics.loc.cloc
old: 0.0
new: 2.0
path: .spaces[4].spaces[10].spaces[3].metrics.loc.sloc
old: 4.0
new: 6.0
Code
def endTagScript(self, token):
node = self.tree.openElements.pop()
assert node.name == "script"
self.parser.phase = self.parser.originalPhase
# The rest of this method is all stuff that only happens if
# document.write works
Minimal test - lines (1703, 1709)
path: .spaces[4].spaces[11].spaces[0].metrics.loc.sloc
old: 6.0
new: 7.0
path: .spaces[4].spaces[11].spaces[0].metrics.loc.cloc
old: 3.0
new: 4.0
path: .spaces[4].spaces[11].spaces[0].metrics.mi.mi_visual_studio
old: 68.75240446278796
new: 67.29202960126656
path: .spaces[4].spaces[11].spaces[0].metrics.mi.mi_original
old: 117.5666116313674
new: 115.06937061816583
path: .spaces[4].spaces[11].spaces[0].metrics.mi.mi_sei
old: 138.57215750785292
new: 136.57137100372316
Code
def clearStackToTableContext(self):
# "clear the stack back to a table context"
while self.tree.openElements[-1].name not in ("table", "html"):
# self.parser.parseError("unexpected-implied-end-tag-in-table",
# {"name": self.tree.openElements[-1].name})
self.tree.openElements.pop()
# When the current node is it's an innerHTML case