From ab7ed77ab3560f6d574d577befc7a1f593e45327 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Mon, 20 Feb 2012 11:43:46 -0500 Subject: Changd the class structure so that the default parser test class uses html.parser. --- bs4/tests/test_builder_registry.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) (limited to 'bs4/tests/test_builder_registry.py') diff --git a/bs4/tests/test_builder_registry.py b/bs4/tests/test_builder_registry.py index 5f60462..84b2daf 100644 --- a/bs4/tests/test_builder_registry.py +++ b/bs4/tests/test_builder_registry.py @@ -6,8 +6,6 @@ from bs4 import BeautifulSoup from bs4.builder import ( builder_registry as registry, HTMLParserTreeBuilder, - LXMLTreeBuilderForXML, - LXMLTreeBuilder, TreeBuilderRegistry, ) @@ -18,7 +16,10 @@ except ImportError: HTML5LIB_PRESENT = False try: - from bs4.builder import LXMLTreeBuilder + from bs4.builder import ( + LXMLTreeBuilderForXML, + LXMLTreeBuilder, + ) LXML_PRESENT = True except ImportError: LXML_PRESENT = False @@ -28,10 +29,13 @@ class BuiltInRegistryTest(unittest.TestCase): """Test the built-in registry with the default builders registered.""" def test_combination(self): - self.assertEqual(registry.lookup('fast', 'html'), - LXMLTreeBuilder) - self.assertEqual(registry.lookup('permissive', 'xml'), - LXMLTreeBuilderForXML) + if LXML_PRESENT: + self.assertEqual(registry.lookup('fast', 'html'), + LXMLTreeBuilder) + + if LXML_PRESENT: + self.assertEqual(registry.lookup('permissive', 'xml'), + LXMLTreeBuilderForXML) self.assertEqual(registry.lookup('strict', 'html'), HTMLParserTreeBuilder) if HTML5LIB_PRESENT: @@ -41,15 +45,17 @@ class BuiltInRegistryTest(unittest.TestCase): def test_lookup_by_markup_type(self): if LXML_PRESENT: self.assertEqual(registry.lookup('html'), LXMLTreeBuilder) + self.assertEqual(registry.lookup('xml'), LXMLTreeBuilderForXML) else: self.assertEqual(registry.lookup('html'), HTML5TreeBuilder) - self.assertEqual(registry.lookup('xml'), LXMLTreeBuilderForXML) + self.assertEqual(registry.lookup('xml'), None) def test_named_library(self): - self.assertEqual(registry.lookup('lxml', 'xml'), - LXMLTreeBuilderForXML) - self.assertEqual(registry.lookup('lxml', 'html'), - LXMLTreeBuilder) + if LXML_PRESENT: + self.assertEqual(registry.lookup('lxml', 'xml'), + LXMLTreeBuilderForXML) + self.assertEqual(registry.lookup('lxml', 'html'), + LXMLTreeBuilder) if HTML5LIB_PRESENT: self.assertEqual(registry.lookup('html5lib'), HTML5TreeBuilder) -- cgit v1.2.3 From 7283761096d81f87d313c08c2915d6ee19bc6a36 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Mon, 20 Feb 2012 12:04:36 -0500 Subject: Tests now pass if neither lxml nor html5lib is installed. --- bs4/tests/test_builder_registry.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bs4/tests/test_builder_registry.py') diff --git a/bs4/tests/test_builder_registry.py b/bs4/tests/test_builder_registry.py index 84b2daf..92ad10f 100644 --- a/bs4/tests/test_builder_registry.py +++ b/bs4/tests/test_builder_registry.py @@ -47,8 +47,11 @@ class BuiltInRegistryTest(unittest.TestCase): self.assertEqual(registry.lookup('html'), LXMLTreeBuilder) self.assertEqual(registry.lookup('xml'), LXMLTreeBuilderForXML) else: - self.assertEqual(registry.lookup('html'), HTML5TreeBuilder) self.assertEqual(registry.lookup('xml'), None) + if HTML5LIB_PRESENT: + self.assertEqual(registry.lookup('html'), HTML5TreeBuilder) + else: + self.assertEqual(registry.lookup('html'), HTMLParserTreeBuilder) def test_named_library(self): if LXML_PRESENT: -- cgit v1.2.3