summaryrefslogtreecommitdiff
path: root/bs4/tests
diff options
context:
space:
mode:
Diffstat (limited to 'bs4/tests')
-rw-r--r--bs4/tests/test_tree.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/bs4/tests/test_tree.py b/bs4/tests/test_tree.py
index 3251e0e..80aaaff 100644
--- a/bs4/tests/test_tree.py
+++ b/bs4/tests/test_tree.py
@@ -1275,6 +1275,23 @@ class TestTreeModification(SoupTest):
a.clear(decompose=True)
self.assertEqual(0, len(em.contents))
+
+ def test_decompose(self):
+ # Test PageElement.decompose() and PageElement.decomposed
+ soup = self.soup("<p><a>String <em>Italicized</em></a></p><p>Another para</p>")
+ p1, p2 = soup.find_all('p')
+ a = p1.a
+ text = p1.em.string
+ for i in [p1, p2, a, text]:
+ self.assertEqual(False, i.decomposed)
+
+ # This sets p1 and everything beneath it to decomposed.
+ p1.decompose()
+ for i in [p1, a, text]:
+ self.assertEqual(True, i.decomposed)
+ # p2 is unaffected.
+ self.assertEqual(False, p2.decomposed)
+
def test_string_set(self):
"""Tag.string = 'string'"""
soup = self.soup("<a></a> <b><c></c></b>")