Skip to content

Commit 5197f55

Browse files
committed
Fix #132: add test for #115, single character fragments (#264)
r=nobody!
1 parent 1ff3c80 commit 5197f55

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

html5lib/tests/test_treewalkers.py

+20
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
from __future__ import absolute_import, division, unicode_literals
22

3+
import itertools
4+
35
import pytest
46

57
try:
@@ -100,6 +102,24 @@ def test_treewalker_six_mix():
100102
yield runTreewalkerEditTest, intext, expected, attrs, tree
101103

102104

105+
@pytest.mark.parametrize("tree,char", itertools.product(sorted(treeTypes.items()), ["x", "\u1234"]))
106+
def test_fragment_single_char(tree, char):
107+
expected = [
108+
{'data': char, 'type': 'Characters'}
109+
]
110+
111+
treeName, treeClass = tree
112+
if treeClass is None:
113+
pytest.skip("Treebuilder not loaded")
114+
115+
parser = html5parser.HTMLParser(tree=treeClass["builder"])
116+
document = parser.parseFragment(char)
117+
document = treeClass.get("adapter", lambda x: x)(document)
118+
output = Lint(treeClass["walker"](document))
119+
120+
assert list(output) == expected
121+
122+
103123
@pytest.mark.skipif(treeTypes["lxml"] is None, reason="lxml not importable")
104124
def test_lxml_xml():
105125
expected = [

0 commit comments

Comments
 (0)