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_downloadSubtitle_should_call_transformSubtitleToSSA(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = {"status": 200, "content": "nothingness"} subtitlesettings = ["false", "0", "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.downloadSubtitle() player.transformAnnotationToSSA.assert_called_with("nothingness")
def test_addSubtitles_should_call_xbmcs_setSubtitles(self): sys.modules["__main__"].settings.getSetting.return_value = "testDownloadPath" sys.modules["__main__"].xbmcvfs.exists.return_value = True sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" player = YouTubeSubtitleControl() player.getSubtitleFileName = Mock(return_value="testTitle-[testid].ssa") player.downloadSubtitle = Mock() player.downloadSubtitle.return_value = True player.addSubtitles({"videoid": "testid", "Title": "testTitle"}) sys.modules["__main__"].xbmcvfs.exists.assert_called_with('testDownloadPath/testTitle-[testid].ssa') sys.modules["__main__"].xbmc.Player().setSubtitles.assert_called_with('testDownloadPath/testTitle-[testid].ssa')
def test_addSubtitles_should_call_xbmcs_setSubtitles(self): sys.modules["__main__"].settings.getSetting.return_value = "testDownloadPath" sys.modules["__main__"].xbmcvfs.exists.return_value = True sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" player = YouTubeSubtitleControl() player.getSubtitleFileName = Mock(return_value="testTitle-[testid].ssa") player.downloadSubtitle = Mock() player.downloadSubtitle.return_value = True player.addSubtitles({"videoid": "testid", "Title": "testTitle"}) sys.modules["__main__"].xbmcvfs.exists.assert_called_with('testDownloadPath/testTitle-[testid].ssa') sys.modules["__main__"].xbmc.Player().setSubtitles.assert_called_with('testDownloadPath/testTitle-[testid].ssa')
def test_addSubtitles_should_check_if_subtitle_exists_locally_before_calling_downloadSubtitle(self): player = YouTubeSubtitleControl() settings = [False, True] sys.modules["__main__"].settings.getSetting.return_value = "testDownloadPath" sys.modules["__main__"].xbmcvfs.exists.side_effect = lambda x: settings.pop() sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" player.downloadSubtitle = Mock() player.getSubtitleFileName = Mock(return_value="testTitle-[testid].ssa") player.downloadSubtitle.return_value = False player.addSubtitles({"videoid": "testid", "Title": "testTitle"}) sys.modules["__main__"].xbmcvfs.exists.assert_called_with('testDownloadPath/testTitle-[testid].ssa') assert(player.downloadSubtitle.call_count == 0)
def test_downloadSubtitle_should_exit_gracefully_if_subtitles_and_annotations_are_disabled(self): player = YouTubeSubtitleControl() subtitlessettings = ["false", "0", "false"] def popSetting(self, *args, **kwargs): val = subtitlessettings.pop() return val sys.modules["__main__"].settings.getSetting = Mock() sys.modules["__main__"].settings.getSetting.side_effect = popSetting result = player.downloadSubtitle() assert(result == False)
def test_downloadSubtitle_should_call_saveSubtitle(self): player = YouTubeSubtitleControl() sys.modules["__main__"].core._fetchPage = Mock() sys.modules["__main__"].core._fetchPage.return_value = {"status": 200, "content": "nothingness"} subtitlesettings = ["false", "0", "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 = ("something", "style") player.saveSubtitle = Mock() result = player.downloadSubtitle() assert(result == True) assert(player.saveSubtitle.called)
def test_addSubtitles_should_check_if_subtitle_exists_locally_before_calling_downloadSubtitle(self): player = YouTubeSubtitleControl() settings = [False, True] sys.modules["__main__"].settings.getSetting.return_value = "testDownloadPath" sys.modules["__main__"].xbmcvfs.exists.side_effect = lambda x: settings.pop() sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" player.downloadSubtitle = Mock() player.getSubtitleFileName = Mock(return_value="testTitle-[testid].ssa") player.downloadSubtitle.return_value = False player.addSubtitles({"videoid": "testid", "Title": "testTitle"}) sys.modules["__main__"].xbmcvfs.exists.assert_called_with('testDownloadPath/testTitle-[testid].ssa') assert(player.downloadSubtitle.call_count == 0)
def test_downloadSubtitle_should_exit_gracefully_if_subtitles_and_annotations_are_disabled(self): player = YouTubeSubtitleControl() subtitlessettings = ["false", "0", "false"] def popSetting(self, *args, **kwargs): val = subtitlessettings.pop() return val sys.modules["__main__"].settings.getSetting = Mock() sys.modules["__main__"].settings.getSetting.side_effect = popSetting result = player.downloadSubtitle() assert(result == False)
def test_addSubtitles_should_sleep_for_1_second_if_player_isnt_ready(self): sys.modules["__main__"].settings.getSetting.return_value = "testDownloadPath" sys.modules["__main__"].xbmcvfs.exists.return_value = True sys.modules["__main__"].xbmc.Player().isPlaying.side_effect = [False, True] sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" patcher = patch("time.sleep") patcher.start() sleep = Mock() import time time.sleep = sleep player = YouTubeSubtitleControl() player.getSubtitleFileName = Mock(return_value="testTitle-[testid].ssa") player.downloadSubtitle = Mock() player.downloadSubtitle.return_value = True player.addSubtitles({"videoid": "testid", "Title": "testTitle"}) patcher.stop() sleep.assert_any_call(1)
def test_addSubtitles_should_sleep_for_1_second_if_player_isnt_ready(self): sys.modules["__main__"].settings.getSetting.return_value = "testDownloadPath" sys.modules["__main__"].xbmcvfs.exists.return_value = True sys.modules["__main__"].xbmc.Player().isPlaying.side_effect = [False, True] sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" patcher = patch("time.sleep") patcher.start() sleep = Mock() import time time.sleep = sleep player = YouTubeSubtitleControl() player.getSubtitleFileName = Mock(return_value="testTitle-[testid].ssa") player.downloadSubtitle = Mock() player.downloadSubtitle.return_value = True player.addSubtitles({"videoid": "testid", "Title": "testTitle"}) patcher.stop() sleep.assert_any_call(1)