From 6de230d1f201c686d56e5f5a5241db69c316cea8 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Sun, 20 Feb 2011 10:47:10 -0500 Subject: Removed extraneous newlines. --- tests/test_tree.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'tests') diff --git a/tests/test_tree.py b/tests/test_tree.py index 6f00716..8cbd309 100644 --- a/tests/test_tree.py +++ b/tests/test_tree.py @@ -866,7 +866,6 @@ class TestSubstitutions(SoupTest): self.assertEquals(soup.contents[0].name, 'pre') - class TestEncoding(SoupTest): """Test the ability to encode objects into strings.""" @@ -885,7 +884,6 @@ class TestEncoding(SoupTest): class TestNavigableStringSubclasses(SoupTest): - def test_cdata(self): # None of the current builders turn CDATA sections into CData # objects, but you can create them manually. -- cgit v1.2.3 From 89961f4de3ab1e88b15dd9c0aaa0af77a7c32262 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Sun, 20 Feb 2011 15:08:51 -0500 Subject: Discovered that html5lib can't be made to support SoupStrainers, and changed the test suite appropriately. --- tests/test_html5lib.py | 13 +++++++++++-- tests/test_lxml.py | 11 ++++++++--- tests/test_tree.py | 9 +++++---- 3 files changed, 24 insertions(+), 9 deletions(-) (limited to 'tests') diff --git a/tests/test_html5lib.py b/tests/test_html5lib.py index 021c603..aa0bad2 100644 --- a/tests/test_html5lib.py +++ b/tests/test_html5lib.py @@ -1,5 +1,5 @@ -from beautifulsoup.builder.html5lib_builder import HTML5TreeBuilder -from beautifulsoup.element import Comment +from beautifulsoup.builder import HTML5TreeBuilder +from beautifulsoup.element import Comment, SoupStrainer from test_lxml import ( TestLXMLBuilder, TestLXMLBuilderInvalidMarkup, @@ -13,6 +13,15 @@ class TestHTML5Builder(TestLXMLBuilder): def default_builder(self): return HTML5TreeBuilder() + def test_soupstrainer(self): + # The html5lib tree builder does not support SoupStrainers. + strainer = SoupStrainer("b") + markup = "

A bold statement.

" + soup = self.soup(markup, + parseOnlyThese=strainer) + self.assertEquals( + soup.decode(), self.document_for(markup)) + def test_bare_string(self): # A bare string is turned into some kind of HTML document or # fragment recognizable as the original string. diff --git a/tests/test_lxml.py b/tests/test_lxml.py index 88c866d..de2ce7b 100644 --- a/tests/test_lxml.py +++ b/tests/test_lxml.py @@ -3,8 +3,8 @@ import re from beautifulsoup import BeautifulSoup -from beautifulsoup.builder.lxml_builder import LXMLTreeBuilder -from beautifulsoup.element import Comment, Doctype +from beautifulsoup.builder import LXMLTreeBuilder, LXMLTreeBuilderForXML +from beautifulsoup.element import Comment, Doctype, SoupStrainer from beautifulsoup.testing import SoupTest @@ -320,6 +320,12 @@ class TestLXMLBuilder(SoupTest): self.assertFalse(soup.p.is_empty_element) self.assertEquals(str(soup.p), "

") + def test_soupstrainer(self): + strainer = SoupStrainer("b") + soup = self.soup("A bold statement", + parseOnlyThese=strainer) + self.assertEquals(soup.decode(), "bold") + class TestLXMLBuilderInvalidMarkup(SoupTest): """Tests of invalid markup for the LXML tree builder. @@ -505,7 +511,6 @@ class TestLXMLBuilderEncodingConversion(SoupTest): self.HEBREW_DOCUMENT.decode("iso-8859-8").encode("utf-8")) -from beautifulsoup.builder.lxml_builder import LXMLTreeBuilderForXML class TestLXMLXMLBuilder(SoupTest): """Test XML-specific parsing behavior. diff --git a/tests/test_tree.py b/tests/test_tree.py index 8cbd309..384d518 100644 --- a/tests/test_tree.py +++ b/tests/test_tree.py @@ -524,14 +524,15 @@ class TestTreeModification(SoupTest): def test_new_tag_creation(self): builder = BeautifulSoup.default_builder() - soup = self.soup("", builder=builder) + soup = self.soup("", builder=builder) a = Tag(soup, builder, 'a') ol = Tag(soup, builder, 'ol') a['href'] = 'http://foo.com/' - soup.insert(0, a) - soup.insert(1, ol) + soup.body.insert(0, a) + soup.body.insert(1, ol) self.assertEqual( - soup.decode(), '
    ') + soup.body.encode(), + '
      ') def test_append_to_contents_moves_tag(self): doc = """

      Don't leave me here.

      -- cgit v1.2.3