summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/test_lxml.py27
-rw-r--r--tests/test_tree.py8
2 files changed, 27 insertions, 8 deletions
diff --git a/tests/test_lxml.py b/tests/test_lxml.py
index a2f73cd..7d916da 100644
--- a/tests/test_lxml.py
+++ b/tests/test_lxml.py
@@ -308,6 +308,18 @@ class TestLXMLBuilder(SoupTest):
str = soup.p.string
#self.assertEquals(str.encode("utf-8"), expected)
+ def test_br_tag_is_empty_element(self):
+ """A <br> tag is designated as an empty-element tag."""
+ soup = self.soup("<br></br>")
+ self.assertTrue(soup.br.is_empty_element)
+ self.assertEquals(str(soup.br), "<br />")
+
+ def test_p_tag_is_not_empty_element(self):
+ """A <p> tag is not designated as an empty-element tag."""
+ soup = self.soup("<p />")
+ self.assertFalse(soup.p.is_empty_element)
+ self.assertEquals(str(soup.p), "<p></p>")
+
class TestLXMLBuilderInvalidMarkup(SoupTest):
"""Tests of invalid markup for the LXML tree builder.
@@ -518,20 +530,19 @@ class TestLXMLXMLBuilder(SoupTest):
soup = self.soup("<p><ihavecontents>contents</ihavecontents></p>")
self.assertFalse(soup.ihavecontents.is_empty_element)
- def test_designated_empty_element_tag_has_no_closing_tag(self):
- builder = LXMLTreeBuilderForXML(empty_element_tags=['bar'])
- soup = BeautifulSoup(builder=builder, markup="<bar></bar>")
- self.assertTrue(soup.bar.is_empty_element)
- self.assertEquals(str(soup), "<bar />")
-
def test_empty_tag_that_stops_being_empty_gets_a_closing_tag(self):
- builder = LXMLTreeBuilderForXML(empty_element_tags=['bar'])
- soup = BeautifulSoup(builder=builder, markup="<bar />")
+ soup = self.soup("<bar />")
self.assertTrue(soup.bar.is_empty_element)
soup.bar.insert(1, "Contents")
self.assertFalse(soup.bar.is_empty_element)
self.assertEquals(str(soup), "<bar>Contents</bar>")
+ def test_designated_empty_element_tag_has_no_closing_tag(self):
+ builder = LXMLTreeBuilderForXML(empty_element_tags=['bar'])
+ soup = BeautifulSoup(builder=builder, markup="<bar></bar>")
+ self.assertTrue(soup.bar.is_empty_element)
+ self.assertEquals(str(soup), "<bar />")
+
def test_empty_tag_not_in_empty_element_tag_list_has_closing_tag(self):
builder = LXMLTreeBuilderForXML(empty_element_tags=['bar'])
diff --git a/tests/test_tree.py b/tests/test_tree.py
index 233cb3c..191f614 100644
--- a/tests/test_tree.py
+++ b/tests/test_tree.py
@@ -872,3 +872,11 @@ class TestEncoding(SoupTest):
soup = self.soup(html)
self.assertEquals(
soup.b.encode("utf-8"), html.encode("utf-8"))
+
+
+class TestEmptyElementTags(SoupTest):
+
+ @property
+ def default_builder(self):
+ return LXMLTreeBuilderForXML()
+