From 09c9ca430e49449cc39cbeb7556230cb62df9b19 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Sun, 13 Feb 2011 19:40:29 -0500 Subject: Added tests for namespaced doctypes. --- tests/test_lxml.py | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) (limited to 'tests/test_lxml.py') diff --git a/tests/test_lxml.py b/tests/test_lxml.py index 8f36b41..9f002cb 100644 --- a/tests/test_lxml.py +++ b/tests/test_lxml.py @@ -4,7 +4,7 @@ import re from beautifulsoup import BeautifulSoup from beautifulsoup.builder.lxml_builder import LXMLTreeBuilder -from beautifulsoup.element import Comment +from beautifulsoup.element import Comment, Doctype from beautifulsoup.testing import SoupTest @@ -201,11 +201,33 @@ class TestLXMLBuilder(SoupTest): markup = "foobar" self.assertSoupEquals(markup, "") + def test_namespaced_system_doctype(self): + doctype_str = '' + markup = doctype_str + '

foo

' + soup = BeautifulSoup(markup) + doctype = soup.contents[0] + self.assertEquals(doctype.__class__, Doctype) + self.assertEquals(doctype, 'xsl:stylesheet SYSTEM "htmlent.dtd"') + self.assertEquals(str(soup)[:len(doctype_str)], doctype_str) + self.assertEquals(soup.p.contents[0], 'foo') + + def test_namespaced_public_doctype(self): + doctype_str = '' + markup = doctype_str + '

foo

' + soup = BeautifulSoup(markup) + doctype = soup.contents[0] + self.assertEquals(doctype.__class__, Doctype) + self.assertEquals(doctype, 'xsl:stylesheet PUBLIC "htmlent.dtd"') + self.assertEquals(str(soup)[:len(doctype_str)], doctype_str) + self.assertEquals(soup.p.contents[0], 'foo') + # Tests below this line need work. - #def test_doctype(self): - # xml = 'foo

' - # self.assertSoupEquals(xml) + + def test_doctype(self): + doctype_str = ' + markup = doctype_str + '

foo

' + self.assertSoupEquals(xml) def test_entities_converted_on_the_way_out(self): text = "

<<sacré bleu!>>

" @@ -274,6 +296,9 @@ class TestLXMLBuilderInvalidMarkup(SoupTest): markup = "

onetwo

" self.assertSoupEquals(markup) + #def testJunkInDeclaration(self): + # self.assertSoupEquals('a', 'a') + def test_cdata_where_it_doesnt_belong(self): #CDATA sections are ignored. markup = "
" -- cgit v1.2.3