diff options
Diffstat (limited to 'bs4')
-rw-r--r-- | bs4/builder/_lxml.py | 4 | ||||
-rw-r--r-- | bs4/tests/test_css.py | 13 |
2 files changed, 13 insertions, 4 deletions
diff --git a/bs4/builder/_lxml.py b/bs4/builder/_lxml.py index 4f7cf74..502a776 100644 --- a/bs4/builder/_lxml.py +++ b/bs4/builder/_lxml.py @@ -108,7 +108,7 @@ class LXMLTreeBuilderForXML(TreeBuilder): if self._default_parser is not None: return self._default_parser return etree.XMLParser( - target=self, strip_cdata=False, recover=True, encoding=encoding) + target=self, recover=True, encoding=encoding) def parser_for(self, encoding): """Instantiate an appropriate parser for the given encoding. @@ -122,7 +122,7 @@ class LXMLTreeBuilderForXML(TreeBuilder): if isinstance(parser, Callable): # Instantiate the parser with default arguments parser = parser( - target=self, strip_cdata=False, recover=True, encoding=encoding + target=self, recover=True, encoding=encoding ) return parser diff --git a/bs4/tests/test_css.py b/bs4/tests/test_css.py index 359dbcd..3c2318b 100644 --- a/bs4/tests/test_css.py +++ b/bs4/tests/test_css.py @@ -8,14 +8,23 @@ from bs4 import ( ResultSet, ) +from packaging.version import Version + from . import ( SoupTest, SOUP_SIEVE_PRESENT, ) if SOUP_SIEVE_PRESENT: - from soupsieve import SelectorSyntaxError + from soupsieve import __version__, SelectorSyntaxError + # Some behavior changes in soupsieve 2.6 that affects one of our + # tests. For the test to run under all versions of Python + # supported by Beautiful Soup (which includes versions of Python + # not supported by soupsieve 2.6) we need to check both behaviors. + SOUPSIEVE_EXCEPTION_ON_UNSUPPORTED_PSEUDOCLASS = SelectorSyntaxError + if Version(__version__) < Version("2.6"): + SOUPSIEVE_EXCEPTION_ON_UNSUPPORTED_PSEUDOCLASS = NotImplementedError @pytest.mark.skipif(not SOUP_SIEVE_PRESENT, reason="Soup Sieve not installed") class TestCSSSelectors(SoupTest): @@ -332,7 +341,7 @@ class TestCSSSelectors(SoupTest): assert "yes" == chosen.string def test_unsupported_pseudoclass(self): - with pytest.raises(NotImplementedError): + with pytest.raises(SOUPSIEVE_EXCEPTION_ON_UNSUPPORTED_PSEUDOCLASS): self.soup.select("a:no-such-pseudoclass") with pytest.raises(SelectorSyntaxError): |