Skip to content

Commit 92bce51

Browse files
committed
Make serializer tests pass
1 parent 3ca6c91 commit 92bce51

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

src/html5lib/filters/optionaltags.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ def __iter__(self):
1414
for previous, token, next in self.slider():
1515
type = token["type"]
1616
if type == "StartTag":
17-
if token["data"] or not self.is_optional_start(token["name"], previous, next):
17+
if (token["data"] or
18+
not self.is_optional_start(token["name"], previous, next)):
1819
yield token
1920
elif type == "EndTag":
2021
if not self.is_optional_end(token["name"], next):
@@ -119,11 +120,12 @@ def is_optional_end(self, tagname, next):
119120
# nav, ol, p, pre, section, table, or ul, element, or if
120121
# there is no more content in the parent element.
121122
if type in ("StartTag", "EmptyTag"):
122-
return next["name"] in ('address', 'article', 'aside', \
123-
'blockquote', 'datagrid', 'dialog', 'dir', 'div', \
124-
'dl', 'fieldset', 'footer', 'form', 'h1', 'h2', 'h3', \
125-
'h4', 'h5', 'h6', 'header', 'hr', 'menu', 'nav', 'ol', \
126-
'p', 'pre', 'section', 'table', 'ul')
123+
return next["name"] in ('address', 'article', 'aside',
124+
'blockquote', 'datagrid', 'dialog',
125+
'dir', 'div', 'dl', 'fieldset', 'footer',
126+
'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
127+
'header', 'hr', 'menu', 'nav', 'ol',
128+
'p', 'pre', 'section', 'table', 'ul')
127129
else:
128130
return type == "EndTag" or type is None
129131
elif tagname == 'option':

tests/test_serializer.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ def __iter__(self):
1313
type = token[0]
1414
if type == "StartTag":
1515
if len(token) == 4:
16-
namespace, name, attrib = token[1:]
16+
namespace, name, attrib = token[1:4]
1717
else:
1818
namespace = default_namespace
19-
name, attrib = token[1:]
19+
name, attrib = token[1:3]
2020
yield self.startTag(namespace, name, attrib)
2121
elif type == "EndTag":
2222
if len(token) == 3:
23-
namespace, name = token[1:]
23+
namespace, name = token[1:3]
2424
else:
2525
namespace = default_namespace
26-
name= token[1]
26+
name = token[1]
2727
yield self.endTag(namespace, name)
2828
elif type == "EmptyTag":
2929
if len(token) == 4:
@@ -53,15 +53,15 @@ def addTest(cls, name, description, input, expected, xhtml, options):
5353
def mockTest(self, input, options, expected, xhtml):
5454
result = self.serialize_html(input, options)
5555
if len(expected) == 1:
56-
self.assertEquals(expected[0], result)
56+
self.assertEquals(expected[0], result, "Expected:\n%s\nActual:\n%s\nOptions\nxhtml:False\n%s"%(expected[0], result, str(options)))
5757
elif result not in expected:
5858
self.fail("Expected: %s, Received: %s" % (expected, result))
5959

6060
if not xhtml: return
6161

6262
result = self.serialize_xhtml(input, options)
6363
if len(xhtml) == 1:
64-
self.assertEquals(xhtml[0], result)
64+
self.assertEquals(xhtml[0], result, "Expected:\n%s\nActual:\n%s\nOptions\nxhtml:True\n%s"%(xhtml[0], result, str(options)))
6565
elif result not in xhtml:
6666
self.fail("Expected: %s, Received: %s" % (xhtml, result))
6767

0 commit comments

Comments
 (0)