def test_saveSubtitle_should_call_openFile_with_correct_params(self): sys.modules["__main__"].xbmc.translatePath.return_value = "tempFilePath" sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" subtitles = YouTubeSubtitleControl() subtitles.getSubtitleFileName = Mock(return_value="testTitle-[someVideoId].ssa") subtitles.saveSubtitle("my_subtitle_stream", {"Title": "testTitle", "videoid": "someVideoId", "download_path": "downloadFilePath"}) sys.modules["__main__"].storage.openFile.assert_called_with("tempFilePath/testTitle-[someVideoId].ssa", "w") # was "wb"
def test_saveSubtitle_should_call_openFile_with_correct_params(self): sys.modules["__main__"].xbmc.translatePath.return_value = "tempFilePath" sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" subtitles = YouTubeSubtitleControl() subtitles.getSubtitleFileName = Mock(return_value="testTitle-[someVideoId].ssa") subtitles.saveSubtitle("my_subtitle_stream", {"Title": "testTitle", "videoid": "someVideoId", "downloadPath": "downloadFilePath"}) sys.modules["__main__"].storage.openFile.assert_called_with("tempFilePath/testTitle-[someVideoId].ssa", "w") # was "wb"
def test_saveSubtitle_should_call_xbmcvfs_translatePath(self): sys.modules["__main__"].xbmc.translatePath.return_value = "tempFilePath" sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" subtitles = YouTubeSubtitleControl() subtitles.getSubtitleFileName = Mock() subtitles.saveSubtitle("my_subtitle_stream", {"Title": "testTitle", "videoid": "someVideoId", "downloadPath": "downloadFilePath"}) sys.modules["__main__"].xbmc.translatePath.assert_called_with("somepath")
def test_addSubtitles_should_wait_for_playback_to_start_before_adding_subtitle(self): player = YouTubeSubtitleControl() player.getSubtitleFileName = Mock(return_value="testTitle-[testid].ssa") 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.addSubtitles({"videoid": "testid", "Title": "testTitle"}) sys.modules["__main__"].xbmc.Player().isPlaying.assert_called_with() sys.modules["__main__"].xbmc.Player().setSubtitles.assert_called_with('testDownloadPath/testTitle-[testid].ssa')
def test_saveSubtitle_should_call_xbmcvfs_translatePath(self): sys.modules["__main__"].xbmc.translatePath.return_value = "tempFilePath" sys.modules["__main__"].common.makeUTF8.return_value = "testTitle" subtitles = YouTubeSubtitleControl() subtitles.getSubtitleFileName = Mock() subtitles.saveSubtitle("my_subtitle_stream", {"Title": "testTitle", "videoid": "someVideoId", "download_path": "downloadFilePath"}) sys.modules["__main__"].xbmc.translatePath.assert_called_with("somepath")
def test_addSubtitles_should_wait_for_playback_to_start_before_adding_subtitle(self): player = YouTubeSubtitleControl() player.getSubtitleFileName = Mock(return_value="testTitle-[testid].ssa") 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.addSubtitles({"videoid": "testid", "Title": "testTitle"}) sys.modules["__main__"].xbmc.Player().isPlaying.assert_called_with() 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_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_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_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)