summaryrefslogtreecommitdiff
path: root/bs4/tests/test_tree.py
diff options
context:
space:
mode:
authorLeonard Richardson <leonardr@segfault.org>2020-01-01 13:30:28 -0500
committerLeonard Richardson <leonardr@segfault.org>2020-01-01 13:30:28 -0500
commit981c34917f44d96b5c7fa3314bcf39c772d12a61 (patch)
treea42db5bee6974fe281d12fb8285cec6a50966471 /bs4/tests/test_tree.py
parenta021fc8a1aac56aa4a75c68fee5c4cb6a0e68551 (diff)
API CHANGE - Added PageElement.decomposed, a new property which lets you
check whether you've already called decompose() on a Tag or NavigableString.
Diffstat (limited to 'bs4/tests/test_tree.py')
-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>")