diff options
Diffstat (limited to 'bs4/tests/test_tree.py')
-rw-r--r-- | bs4/tests/test_tree.py | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/bs4/tests/test_tree.py b/bs4/tests/test_tree.py index 867fdaa..9a10edf 100644 --- a/bs4/tests/test_tree.py +++ b/bs4/tests/test_tree.py @@ -352,7 +352,7 @@ class TestFindAllByAttribute(TreeTest): class TestIndex(TreeTest): """Test Tag.index""" def test_index(self): - tree = self.soup("""<wrap> + tree = self.soup("""<div> <a>Identical</a> <b>Not identical</b> <a>Identical</a> @@ -360,10 +360,10 @@ class TestIndex(TreeTest): <c><d>Identical with child</d></c> <b>Also not identical</b> <c><d>Identical with child</d></c> - </wrap>""") - wrap = tree.wrap - for i, element in enumerate(wrap.contents): - self.assertEqual(i, wrap.index(element)) + </div>""") + div = tree.div + for i, element in enumerate(div.contents): + self.assertEqual(i, div.index(element)) self.assertRaises(ValueError, tree.index, 1) @@ -926,6 +926,27 @@ class TestTreeModification(SoupTest): self.assertEqual(tree.em, None) self.assertEqual(tree.p.text, "Unneeded formatting is unneeded") + def test_wrap(self): + soup = self.soup("I wish I was bold.") + value = soup.string.wrap(soup.new_tag("b")) + self.assertEqual(value.decode(), "<b>I wish I was bold.</b>") + self.assertEqual( + soup.decode(), self.document_for("<b>I wish I was bold.</b>")) + + def test_wrap_extracts_tag_from_elsewhere(self): + soup = self.soup("<b></b>I wish I was bold.") + soup.b.next_sibling.wrap(soup.b) + self.assertEqual( + soup.decode(), self.document_for("<b>I wish I was bold.</b>")) + + def test_wrap_puts_new_contents_at_the_end(self): + soup = self.soup("<b>I like being bold.</b>I wish I was bold.") + soup.b.next_sibling.wrap(soup.b) + self.assertEqual(2, len(soup.b.contents)) + self.assertEqual( + soup.decode(), self.document_for( + "<b>I like being bold.I wish I was bold.</b>")) + def test_extract(self): soup = self.soup( '<html><body>Some content. <div id="nav">Nav crap</div> More content.</body></html>') |