From 522c72ef59e2b544a30a6bfbc3001dc1e84fed45 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Fri, 10 Apr 2009 15:20:58 -0400 Subject: Added a simple compatibility test suite for tree builders. --- src/beautifulsoup/tests/treebuilder.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/beautifulsoup/tests/treebuilder.py (limited to 'src/beautifulsoup/tests/treebuilder.py') diff --git a/src/beautifulsoup/tests/treebuilder.py b/src/beautifulsoup/tests/treebuilder.py new file mode 100644 index 0000000..25be325 --- /dev/null +++ b/src/beautifulsoup/tests/treebuilder.py @@ -0,0 +1,30 @@ +"""Tree builder compatibility suite. + +If you create a tree builder class, also create a test suite that +subclasses this one. This test suite will parse various bits of +well-formed HTML with your tree builder. Not every tree builder will +handle bad HTML in the same way, but every builder should be able to +handle _good_ HTML in the same way. +""" + +import unittest +from beautifulsoup import BeautifulSoup +from test_soup import SoupTest + +class CompatibilityTest(SoupTest): + + def __init__(self, builder): + self.builder = builder + + _testMethodName = "test" + + def test(self): + self.test_bare_string() + self.test_tag_nesting() + + def test_bare_string(self): + self.assertSoupEquals("A bare string") + + def test_tag_nesting(self): + self.assertSoupEquals("Inside a B tag") + self.assertSoupEquals("

A nested tag

") -- cgit v1.2.3