summaryrefslogtreecommitdiff
path: root/tests/test_lxml.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_lxml.py')
-rw-r--r--tests/test_lxml.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/test_lxml.py b/tests/test_lxml.py
index 7e83eff..4b3df07 100644
--- a/tests/test_lxml.py
+++ b/tests/test_lxml.py
@@ -355,6 +355,12 @@ class TestLXMLBuilderInvalidMarkup(SoupTest):
'<table><tr><table><tr id="nested">',
'<table><tr><table><tr id="nested"></tr></table></tr></table>')
+ def test_paragraphs_containing_block_display_elements(self):
+ markup = self.soup("<p>this is the definition:"
+ "<dl><dt>first case</dt>")
+ # The <p> tag is closed before the <dl> tag begins.
+ self.assertEquals(markup.p.contents, ["this is the definition:"])
+
def test_empty_element_tag_with_contents(self):
self.assertSoupEquals("<br>foo</br>", "<br />foo")
@@ -400,6 +406,10 @@ class TestLXMLBuilderInvalidMarkup(SoupTest):
self.assertEquals(soup.a['bar'], '')
self.assertEquals(soup.a.string, "baz")
+ def test_unquoted_attribute_value(self):
+ soup = self.soup('<a style={height:21px;}></a>')
+ self.assertEquals(soup.a['style'], '{height:21px;}')
+
def test_attribute_value_with_embedded_brackets(self):
soup = self.soup('<a b="<a>">')
self.assertEquals(soup.a['b'], '<a>')
@@ -415,6 +425,15 @@ class TestLXMLBuilderInvalidMarkup(SoupTest):
# Also compare html5lib, which preserves the &# before the
# entity name.
+ def test_entity_out_of_range(self):
+ # An entity that's out of range will be ignored.
+ soup = self.soup("<p>&#10000000000000;</p>")
+ self.assertEquals(soup.p.string, None)
+
+ soup = self.soup("<p>&#x1000000000000;</p>")
+ self.assertEquals(soup.p.string, None)
+
+
def test_entity_was_not_finished(self):
soup = self.soup("<p>&lt;Hello&gt")
# Compare html5lib, which completes the entity.