8000 Basic test for naespacing html elements · html5lib/html5lib-python@89dc1a5 · GitHub
[go: up one dir, main page]

Skip to content

Commit 89dc1a5

Browse files
committed
Basic test for naespacing html elements
1 parent 852232d commit 89dc1a5

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/html5lib/html5parser.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@
2020
from constants import cdataElements, rcdataElements, voidElements
2121
from constants import tokenTypes, ReparseException, namespaces
2222

23-
def parse(doc, treebuilder="simpletree", encoding=None):
23+
def parse(doc, treebuilder="simpletree", encoding=None,
24+
namespaceHTMLElements=False):
2425
tb = treebuilders.getTreeBuilder(treebuilder)
25-
p = HTMLParser(tb)
26+
p = HTMLParser(tb, namespaceHTMLElements=namespaceHTMLElements)
2627
return p.parse(doc, encoding=encoding)
2728

2829
class HTMLParser(object):
@@ -31,7 +32,7 @@ class HTMLParser(object):
3132

3233
def __init__(self, tree = simpletree.TreeBuilder,
3334
tokenizer = tokenizer.HTMLTokenizer, strict = False,
34-
namespaceHTMLElements = True):
35+
namespaceHTMLElements = False):
3536
"""
3637
strict - raise an exception when a parse error is encountered
3738

tests/test_parser2.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import support
22
from html5lib import html5parser
3+
from html5lib.constants import namespaces
34
from html5lib.treebuilders import dom
45

56
import unittest
@@ -17,6 +18,16 @@ def test_line_counter(self):
1718
parser = html5parser.HTMLParser(tree=dom.TreeBuilder)
1819
parser.parse("<pre>\nx\n&gt;\n</pre>")
1920

21+
def test_namespace_html_elements_0(self):
22+
parser = html5parser.HTMLParser(namespaceHTMLElements=True)
23+
doc = parser.parse("<html></html>")
24+
self.assert_(doc.childNodes[0].namespace == namespaces["html"])
25+
26+
def test_namespace_html_elements_1(self):
27+
parser = html5parser.HTMLParser(namespaceHTMLElements=False)
28+
doc = parser.parse("<html></html>")
29+
self.assert_(doc.childNodes[0].namespace == None)
30+
2031
def buildTestSuite():
2132
return unittest.defaultTestLoader.loadTestsFromName(__name__)
2233

0 commit comments

Comments
 (0)
0