def test_video_wrapper_wraps_iframe(self, mock_find_embed): mock_find_embed.return_value = { "html": '<iframe src="www.example.com"></iframe>', "type": "video", } finder = CustomOEmbedFinder() result = finder.find_embed("www.example.com") soup = BeautifulSoup(result["html"], "html.parser") self.assertEqual(soup.find("iframe").parent.name, "div")
def test_nonvideo_iframe_classes(self, mock_find_embed): mock_find_embed.return_value = { "html": '<iframe src="www.example.com"></iframe>', "type": "not a video", } finder = CustomOEmbedFinder() finder.extra_classes = ["video_iframe_class"] result = finder.find_embed("www.example.com") soup = BeautifulSoup(result["html"], "html.parser") self.assertEqual(soup.find("iframe").attrs.get("class"), None)
def test_video_iframe_title_is_set(self, mock_find_embed): mock_find_embed.return_value = { "html": '<iframe src="www.example.com"></iframe>', "type": "video", "title": "Some video", } finder = CustomOEmbedFinder() result = finder.find_embed("www.example.com") soup = BeautifulSoup(result["html"], "html.parser") self.assertEqual(soup.find("iframe").attrs.get("title"), "Some video")
def test_nonvideo_gets_no_wrapper(self, mock_find_embed): mock_find_embed.return_value = { "html": '<iframe src="www.example.com"></iframe>', "type": "not a video", } finder = CustomOEmbedFinder() result = finder.find_embed("www.example.com") soup = BeautifulSoup(result["html"], "html.parser") # it is at the top level self.assertEqual(soup.find("iframe").parent.name, "[document]")
def test_nonvideo_output_html(self, mock_find_embed): mock_find_embed.return_value = { "html": '<iframe src="www.example.com"></iframe>', "type": "not a video", "title": "Something else", } finder = CustomOEmbedFinder() finder.extra_classes = ["foo", "bar"] finder.extra_wrapper_classes = ["baz", "qux"] result = finder.find_embed("www.example.com") self.assertEqual( result["html"], '<iframe src="www.example.com"></iframe>', )