From b32c88cc0362030f2801690aca695cf5d3d57f55 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Tue, 7 Feb 2012 18:01:06 -0500 Subject: Added and tested insert_before and insert_after. --- bs4/tests/test_tree.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'bs4/tests/test_tree.py') diff --git a/bs4/tests/test_tree.py b/bs4/tests/test_tree.py index 5552347..a457ddc 100644 --- a/bs4/tests/test_tree.py +++ b/bs4/tests/test_tree.py @@ -678,6 +678,40 @@ class TestTreeModification(SoupTest): soup.br.insert(1, "Contents") self.assertEqual(str(soup.br), "
Contents
") + def test_insert_before(self): + soup = self.soup("foobar") + soup.new_string("BAZ").insert_before(soup.b) + soup.new_string("QUUX").insert_before(soup.a) + self.assertEquals( + soup.decode(), self.document_for("QUUXfooBAZbar")) + + soup.b.insert_before(soup.a) + self.assertEquals( + soup.decode(), self.document_for("QUUXbarfooBAZ")) + + + def test_insert_after(self): + soup = self.soup("foobar") + soup.new_string("BAZ").insert_after(soup.b) + soup.new_string("QUUX").insert_after(soup.a) + self.assertEquals( + soup.decode(), self.document_for("fooQUUXbarBAZ")) + soup.a.insert_after(soup.b) + self.assertEquals( + soup.decode(), self.document_for("QUUXbarfooBAZ")) + + def test_insert_after_raises_valueerror_if_after_has_no_meaning(self): + soup = self.soup("") + tag = soup.new_tag("a") + string = soup.new_string("") + self.assertRaises(ValueError, string.insert_after, tag) + + def test_insert_before_raises_valueerror_if_before_has_no_meaning(self): + soup = self.soup("") + tag = soup.new_tag("a") + string = soup.new_string("") + self.assertRaises(ValueError, string.insert_before, tag) + def test_replace_with(self): soup = self.soup( "

There's no business like show business

") -- cgit v1.2.3