From a60fa31cd217d0111c0ed75fc0dd87bfa179e387 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Mon, 31 Dec 2018 11:32:26 -0500 Subject: Improved and tested error checking for insert_before and insert_after. --- bs4/tests/test_tree.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'bs4/tests/test_tree.py') diff --git a/bs4/tests/test_tree.py b/bs4/tests/test_tree.py index e6c07aa..2290558 100644 --- a/bs4/tests/test_tree.py +++ b/bs4/tests/test_tree.py @@ -964,6 +964,14 @@ class TestTreeModification(SoupTest): self.assertEqual( soup.decode(), self.document_for("QUUXbarfooBAZ")) + # Can't insert an element before itself. + b = soup.b + self.assertRaises(ValueError, b.insert_before, b) + + # Can't insert before if an element has no parent. + b.extract() + self.assertRaises(ValueError, b.insert_before, "nope") + def test_insert_multiple_before(self): soup = self.soup("foobar") soup.b.insert_before("BAZ", " ", "QUUX") @@ -985,6 +993,14 @@ class TestTreeModification(SoupTest): self.assertEqual( soup.decode(), self.document_for("QUUXbarfooBAZ")) + # Can't insert an element after itself. + b = soup.b + self.assertRaises(ValueError, b.insert_after, b) + + # Can't insert after if an element has no parent. + b.extract() + self.assertRaises(ValueError, b.insert_after, "nope") + def test_insert_multiple_after(self): soup = self.soup("foobar") soup.b.insert_after("BAZ", " ", "QUUX") -- cgit v1.2.3