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>',
        )