From 261f981dc4e62a41bb0e85285d1f40927b34e3d3 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Thu, 10 Feb 2011 12:32:19 -0500 Subject: Added tests illustrating the different ways lxml and html5lib handle nested tables. --- tests/test_html5lib.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests/test_html5lib.py') diff --git a/tests/test_html5lib.py b/tests/test_html5lib.py index 3a4ee27..ef38f9f 100644 --- a/tests/test_html5lib.py +++ b/tests/test_html5lib.py @@ -19,6 +19,32 @@ class TestHTML5Builder(TestLXMLBuilder): self.assertSoupEquals( "A bare string", "A bare string") + def test_nested_tables(self): + # See TestLXMLBuilder for TABLE_MARKUP_1 and + # TABLE_MARKUP_2. They're both nested tables where the + # top-level and aren't closed. In TABLE_MARKUP_1 + # the second table is within a tag. + # + # html5lib adds tags to each table. It treats + # TABLE_MARKUP_1 as a nested table, and TABLE_MARKUP_2 as two + # different tables. + self.assertSoupEquals( + self.TABLE_MARKUP_1, + '
tag. In + # TABLE_MARKUP_2, the second table is floating inside a
' + "
Here's another table:" + '
foo
' + "
" + ) + + self.assertSoupEquals( + self.TABLE_MARKUP_2, + '' + "" + '
Here's another table:
' + '
foo
' + ) + def test_collapsed_whitespace(self): """Whitespace is preserved even in tags that don't require it.""" self.assertSoupEquals("

") -- cgit v1.2.3