def test_getSubtitleUrl_should_call_fetchPage_with_correct_url(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = {"status": 303, "content": ""} player.getSubtitleUrl({"videoid": "some_id"}) sys.modules["__main__"].core._fetchPage.assert_called_with({"link": player.urls["timed_text_index"] % ('some_id')})
def test_getSubtitleUrl_should_call_fetchPage_with_correct_url(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = {"status": 303, "content": ""} player.getSubtitleUrl({"videoid": "some_id"}) sys.modules["__main__"].core._fetchPage.assert_called_with({"link": player.urls["timed_text_index"] % ('some_id')})
def test_downloadSubtitle_should_call_transformSubtitleXMLtoSRT(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = { "status": 200, "content": "nothingness" } subtitlesettings = ["true", "2", "true"] sys.modules["__main__"].settings.getSetting = Mock() sys.modules[ "__main__"].settings.getSetting.side_effect = lambda x: subtitlesettings.pop( ) player.transformAnnotationToSSA = Mock() player.transformAnnotationToSSA.return_value = ("", "style") player.getSubtitleUrl = Mock() player.getSubtitleUrl.return_value = "" player.getTranscriptionUrl = Mock() player.getTranscriptionUrl.return_value = "something" player.transformSubtitleXMLtoSRT = Mock() player.transformSubtitleXMLtoSRT.return_value = "" player.downloadSubtitle() player.transformSubtitleXMLtoSRT.assert_called_with("nothingness")
def test_getSubtitleUrl_should_fall_back_to_english_if_proper_language_code_is_not_found(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = {"status": 200, "content": self.readTestInput("timedtextDirectoryTest.xml", False)} sys.modules["__main__"].core.getVideoIdStatusFromCache = Mock() sys.modules["__main__"].settings.getSetting = Mock() sys.modules["__main__"].settings.getSetting.return_value = "2" sys.modules["__main__"].common.parseDOM.side_effect = [["en"], ["english"], ["english"]] url = player.getSubtitleUrl({"videoid": "some_id"}) assert(url.find("lang=en") > 0)
def test_getSubtitleUrl_should_fall_back_to_english_if_proper_language_code_is_not_found(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = {"status": 200, "content": self.readTestInput("timedtextDirectoryTest.xml", False)} sys.modules["__main__"].core.getVideoIdStatusFromCache = Mock() sys.modules["__main__"].settings.getSetting = Mock() sys.modules["__main__"].settings.getSetting.return_value = "2" sys.modules["__main__"].common.parseDOM.side_effect = [["en"], ["english"], ["english"]] url = player.getSubtitleUrl({"videoid": "some_id"}) assert(url.find("lang=en") > 0)
def test_getSubtitleUrl_should_find_url_with_proper_language_code(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = {"status": 200, "content": self.readTestInput("timedtextDirectoryTest.xml", False)} sys.modules["__main__"].settings.getSetting = Mock() sys.modules["__main__"].settings.getSetting.return_value = "3" sys.modules["__main__"].common.parseDOM.side_effect = [["de"], ["german"], ["deutch"]] sys.modules["__main__"].core.getVideoIdStatusFromCache = Mock() url = player.getSubtitleUrl({"videoid": "some_id"}) print repr(url) assert(url.find("lang=de") > 0)
def test_getSubtitleUrl_should_find_url_with_proper_language_code(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = {"status": 200, "content": self.readTestInput("timedtextDirectoryTest.xml", False)} sys.modules["__main__"].settings.getSetting = Mock() sys.modules["__main__"].settings.getSetting.return_value = "3" sys.modules["__main__"].common.parseDOM.side_effect = [["de"], ["german"], ["deutch"]] sys.modules["__main__"].core.getVideoIdStatusFromCache = Mock() url = player.getSubtitleUrl({"videoid": "some_id"}) print repr(url) assert(url.find("lang=de") > 0)
def test_downloadSubtitle_should_call_getSubtitleUrl(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = {"status": 200, "content": "nothingness"} subtitlesettings = ["false", "2", "true"] sys.modules["__main__"].settings.getSetting = Mock() sys.modules["__main__"].settings.getSetting.side_effect = lambda x: subtitlesettings.pop() player.transformAnnotationToSSA = Mock() player.transformAnnotationToSSA.return_value = ("", "style") player.getSubtitleUrl = Mock() player.getSubtitleUrl.return_value = "" player.downloadSubtitle() player.getSubtitleUrl.assert_called_with({})