def test_addFolderListItem_should_call_listitem_setProperty_to_inidicate_item_is_a_folder(self):
     sys.argv = ["some_path", -1, "some_params"]
     navigation = BlipTVNavigation()
     navigation.addFolderContextMenuItems = Mock()
     navigation.addFolderContextMenuItems.return_value = []
     
     navigation.addFolderListItem({}, {"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"})
     
     sys.modules["__main__"].xbmcgui.ListItem().setProperty.assert_called_with('Folder', 'true')
 def test_addFolderListItem_should_call_xbmcplugin_addDirectoryItem_correctly(self):
     sys.argv = ["some_path", -1, "some_params"]
     navigation = BlipTVNavigation()
     navigation.addFolderContextMenuItems = Mock()
     navigation.addFolderContextMenuItems.return_value = []
     
     navigation.addFolderListItem({}, {"feed": "downloads", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"})
     
     sys.modules["__main__"].settings.getSetting.assert_called_with("downloadPath")
 def test_addFolderListItem_should_call_utils_get_thumbnail_to_get_thumbnail_path(self):
     sys.argv = ["some_path", -1, "some_params"]
     navigation = BlipTVNavigation()
     navigation.addFolderContextMenuItems = Mock()
     navigation.addFolderContextMenuItems.return_value = []
     
     navigation.addFolderListItem({}, {"action": "some_action", "icon": "some_icon", "thumbnail": "some_thumbnail"})
     
     sys.modules["__main__"].utils.getThumbnail.assert_called_with("some_thumbnail")
 def test_addFolderListItem_should_call_addFolderContextMenuItems_to_get_context_menu_items(self):
     sys.argv = ["some_path", -1, "some_params"]
     navigation = BlipTVNavigation()
     navigation.addFolderContextMenuItems = Mock()
     navigation.addFolderContextMenuItems.return_value = []
     
     navigation.addFolderListItem({}, {"action": "some_action", "icon": "some_icon"})
     
     navigation.addFolderContextMenuItems.assert_called_with({}, {"action": "some_action", "icon": "some_icon"})
 def test_addFolderContextMenuItems_should_not_add_any_options_to_next_folders(self):
     self.prepareContestMenu()
     sys.modules["__main__"].settings.getSetting.return_value = "something"
     navigation = BlipTVNavigation()
     path_params = {}
     item_params = {"Title": "some_title", "path": "some_path", "icon": "some_icon", "thumbnail": "some_thumbnail", "next": "true"}
     
     cm = navigation.addFolderContextMenuItems(path_params, item_params)
     
     assert(cm == [])
 def test_addFolderListItem_should_call_listitem_addContextMenuItems_to_add_context_menu(self):
     sys.argv = ["some_path", -1, "some_params"]
     sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path"
     navigation = BlipTVNavigation()
     navigation.addFolderContextMenuItems = Mock()
     navigation.addFolderContextMenuItems.return_value = [1, 2]
     
     navigation.addFolderListItem({}, {"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"})
     
     sys.modules["__main__"].xbmcgui.ListItem().addContextMenuItems.assert_called_with([1, 2], replaceItems=False)
 def test_addFolderListItem_should_call_utils_buildItemUrl_to_get_proper_item_url(self):
     sys.argv = ["some_path", -1, "some_params"]
     sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path"
     navigation = BlipTVNavigation()
     navigation.addFolderContextMenuItems = Mock()
     navigation.addFolderContextMenuItems.return_value = []
     
     navigation.addFolderListItem({}, {"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"})
     
     sys.modules["__main__"].utils.buildItemUrl({"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"})
 def test_addFolderListItem_should_call_xbmcgui_ListItem_to_fetch_xbmc_listitem_object(self):
     sys.argv = ["some_path", -1, "some_params"]
     sys.modules["__main__"].utils.getThumbnail.return_value = "some_image_path"
     navigation = BlipTVNavigation()
     navigation.addFolderContextMenuItems = Mock()
     navigation.addFolderContextMenuItems.return_value = []
     
     navigation.addFolderListItem({}, {"action": "some_action", "Title": "some_title", "icon": "some_icon", "thumbnail": "some_thumbnail"})
     
     sys.modules["__main__"].xbmcgui.ListItem.assert_called_with("some_title", iconImage='some_icon', thumbnailImage='some_image_path')
 def test_addFolderContextMenuItems_should_add_delete_from_favorites(self):
     self.prepareContestMenu()
     sys.modules["__main__"].settings.getSetting.return_value = "something"
     navigation = BlipTVNavigation()
     path_params = {"store": "favorites"}
     item_params = {"Title": "some_title", "path": "some_path", "icon": "some_icon", "thumbnail": "some_thumbnail", "show": "some_show"}
     
     cm = navigation.addFolderContextMenuItems(path_params, item_params)
     
     self.assert_context_menu_contains(cm, "some_button_string %s", 'XBMC.ActivateWindow(VideoPlaylist)')
     self.assert_context_menu_contains(cm, "some_button_string %s", 'XBMC.RunPlugin(some_plugin?path=some_path&action=delete_favorite&show=some_show&)')
 def test_addFolderContextMenuItems_should_add_now_playing_option_to_folder_items(self):
     self.prepareContestMenu()
     sys.modules["__main__"].settings.getSetting.return_value = "something"
     navigation = BlipTVNavigation()
     path_params = {}
     item_params = {"Title": "some_title", "path": "some_path", "icon": "some_icon", "thumbnail": "some_thumbnail"}
     
     cm = navigation.addFolderContextMenuItems(path_params, item_params)
     
     sys.modules["__main__"].language.assert_any_call(30523)
     self.assert_context_menu_contains(cm, "some_button_string %s", 'XBMC.ActivateWindow(VideoPlaylist)')
 def test_addFolderContextMenuItems_should_add_edit_and_delete_options_to_searches(self):
     self.prepareContestMenu()
     sys.modules["__main__"].settings.getSetting.return_value = "something"
     navigation = BlipTVNavigation()
     path_params = {}
     item_params = {"Title": "some_title", "path": "some_path", "icon": "some_icon", "thumbnail": "some_thumbnail", "videoid": "someid", "scraper": "search", "search": "some_search"}
     
     cm = navigation.addFolderContextMenuItems(path_params, item_params)
     
     sys.modules["__main__"].language.assert_any_call(30515)
     sys.modules["__main__"].language.assert_any_call(30508)
     self.assert_context_menu_contains(cm, "some_button_string %s", 'XBMC.Container.Update(some_plugin?path=some_path&action=edit_search&search=some_search&)')
     self.assert_context_menu_contains(cm, "some_button_string %s", 'XBMC.RunPlugin(some_plugin?path=some_path&action=delete_search&delete=some_search&)')