MCPcopy Index your code
hub / github.com/csev/py4e / test_extract

Method test_extract

code3/bs4/tests/test_tree.py:1046–1069  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1044 "<b>I like being bold.I wish I was bold.</b>"))
1045
1046 def test_extract(self):
1047 soup = self.soup(
1048 '<html><body>Some content. <div id="nav">Nav crap</div> More content.</body></html>')
1049
1050 self.assertEqual(len(soup.body.contents), 3)
1051 extracted = soup.find(id="nav").extract()
1052
1053 self.assertEqual(
1054 soup.decode(), "<html><body>Some content. More content.</body></html>")
1055 self.assertEqual(extracted.decode(), '<div id="nav">Nav crap</div>')
1056
1057 # The extracted tag is now an orphan.
1058 self.assertEqual(len(soup.body.contents), 2)
1059 self.assertEqual(extracted.parent, None)
1060 self.assertEqual(extracted.previous_element, None)
1061 self.assertEqual(extracted.next_element.next_element, None)
1062
1063 # The gap where the extracted tag used to be has been mended.
1064 content_1 = soup.find(text="Some content. ")
1065 content_2 = soup.find(text=" More content.")
1066 self.assertEqual(content_1.next_element, content_2)
1067 self.assertEqual(content_1.next_sibling, content_2)
1068 self.assertEqual(content_2.previous_element, content_1)
1069 self.assertEqual(content_2.previous_sibling, content_1)
1070
1071 def test_extract_distinguishes_between_identical_strings(self):
1072 soup = self.soup("<a>foo</a><b>bar</b>")

Callers

nothing calls this directly

Calls 4

soupMethod · 0.45
extractMethod · 0.45
findMethod · 0.45
decodeMethod · 0.45

Tested by

no test coverage detected