diff options
author | Leonard Richardson <leonard.richardson@canonical.com> | 2011-02-20 09:44:53 -0500 |
---|---|---|
committer | Leonard Richardson <leonard.richardson@canonical.com> | 2011-02-20 09:44:53 -0500 |
commit | 7dec14806011343d3460a3fa34d7cf88799e8f4c (patch) | |
tree | 32815793e7969d4a0ffe988959e8788b6c0d70bf | |
parent | be392a04860b6d3fe053164c4a03a5e84f972878 (diff) |
Refactored some empty-element tests and added more.
-rw-r--r-- | tests/test_lxml.py | 27 | ||||
-rw-r--r-- | tests/test_tree.py | 8 |
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() + |