summaryrefslogtreecommitdiff
path: root/bs4/tests
diff options
context:
space:
mode:
Diffstat (limited to 'bs4/tests')
-rw-r--r--bs4/tests/test_lxml.py13
-rw-r--r--bs4/tests/test_soup.py11
2 files changed, 22 insertions, 2 deletions
diff --git a/bs4/tests/test_lxml.py b/bs4/tests/test_lxml.py
index 27ec570..4e0b12e 100644
--- a/bs4/tests/test_lxml.py
+++ b/bs4/tests/test_lxml.py
@@ -1,6 +1,7 @@
"""Tests to ensure that the lxml tree builder generates good trees."""
import re
+import warnings
try:
from bs4.builder import LXMLTreeBuilder, LXMLTreeBuilderForXML
@@ -8,7 +9,10 @@ try:
except ImportError, e:
LXML_PRESENT = False
-from bs4 import BeautifulSoup
+from bs4 import (
+ BeautifulSoup,
+ BeautifulStoneSoup,
+ )
from bs4.element import Comment, Doctype, SoupStrainer
from bs4.testing import skipIf
from bs4.tests import test_htmlparser
@@ -37,6 +41,13 @@ class LXMLTreeBuilderSmokeTest(SoupTest, HTMLTreeBuilderSmokeTest):
self.assertSoupEquals(
"<p>foo&#1000000000;bar</p>", "<p>foobar</p>")
+ def test_beautifulstonesoup_is_xml_parser(self):
+ # Make sure that the deprecated BSS class uses an xml builder
+ # if one is installed.
+ with warnings.catch_warnings(record=False) as w:
+ soup = BeautifulStoneSoup("<b />")
+ self.assertEqual(u"<b/>", unicode(soup.b))
+
@skipIf(
not LXML_PRESENT,
"lxml seems not to be present, not testing its XML tree builder.")
diff --git a/bs4/tests/test_soup.py b/bs4/tests/test_soup.py
index 10a7e55..d826b25 100644
--- a/bs4/tests/test_soup.py
+++ b/bs4/tests/test_soup.py
@@ -2,7 +2,10 @@
"""Tests of Beautiful Soup as a whole."""
import unittest
-from bs4 import BeautifulSoup
+from bs4 import (
+ BeautifulSoup,
+ BeautifulStoneSoup,
+)
from bs4.element import (
SoupStrainer,
NamespacedAttribute,
@@ -44,6 +47,12 @@ class TestDeprecatedConstructorArguments(SoupTest):
self.assertRaises(
TypeError, self.soup, "<a>", no_such_argument=True)
+ def test_beautifulstonesoup(self):
+ with warnings.catch_warnings(record=True) as w:
+ soup = BeautifulStoneSoup("<markup>")
+ self.assertTrue(isinstance(soup, BeautifulSoup))
+ self.assertTrue("BeautifulStoneSoup class is deprecated")
+
class TestSelectiveParsing(SoupTest):
def test_parse_with_soupstrainer(self):