From cad82e637d3a9f5743ddde113d34e50d7c49bd60 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 18 Jul 2014 22:09:25 +0100 Subject: [PATCH 1/4] Update script --- scripts/jenkins_script.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/scripts/jenkins_script.py b/scripts/jenkins_script.py index eeafbfe23..64d76bef9 100755 --- a/scripts/jenkins_script.py +++ b/scripts/jenkins_script.py @@ -87,7 +87,7 @@ class JenkinsTrigger(object): :param token: The token we need to trigger the build. If you do not have this token, ask in IRC. """ self.token = token - self.repo_name = get_repo_name() + self.base_name, self.repo_name = get_repo_name('b') self.jenkins_instance = Jenkins(JENKINS_URL) def trigger_build(self): @@ -111,7 +111,8 @@ class JenkinsTrigger(object): bzr = Popen(('bzr', 'revno'), stdout=PIPE, stderr=PIPE) raw_output, error = bzr.communicate() revno = raw_output.decode().strip() - print('%s (revision %s)' % (get_repo_name(), revno)) + print('Remote repository: %s ' % self.repo_name) + print(' Local repository: %s (revision %s)' % (self.repo_name, revno)) for job in OpenLPJobs.Jobs: self.__print_build_info(job) @@ -146,7 +147,7 @@ class JenkinsTrigger(object): print('[%s] %s' % (result_string, url)) -def get_repo_name(): +def get_repo_name(branch_type='l'): """ This returns the name of branch of the working directory. For example it returns *lp:~googol/openlp/render*. """ @@ -162,6 +163,7 @@ def get_repo_name(): output_list = list(map(str.strip, raw_output.split('\n'))) # Determine the branch's name repo_name = '' + base_name = '' for line in output_list: # Check if it is remote branch. if 'push branch' in line: @@ -174,7 +176,15 @@ def get_repo_name(): if match: repo_name = 'lp:%s' % match.group(2) break - return repo_name.strip('/') + elif 'repository branch' in line: + base_name = line.split(':')[1] + break + if branch_type == 'b': + return base_name.strip('/'), repo_name.strip('/') + elif branch_type == 'r': + return base_name.strip('/') + else: + return repo_name.strip('/') def main(): @@ -188,9 +198,12 @@ def main(): options, args = parser.parse_args(sys.argv) if len(args) == 2: - if not get_repo_name(): + if not get_repo_name('l'): print('Not a branch. Have you pushed it to launchpad? Did you cd to the branch?') return + if not get_repo_name('r'): + print('No remote branch. Have you pushed it to launchpad? Did you cd to the branch?') + return token = args[-1] if token in OLD_TOKENS: print('Your token is not valid anymore. Get the most recent one.') From 516fd30bc7fe6e7205a22d737d932d8d66e59593 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 23 Aug 2014 21:42:10 +0100 Subject: [PATCH 2/4] fix conversion bug --- openlp/core/ui/servicemanager.py | 2 +- .../openlp_core_ui/test_servicemanager.py | 243 +++++++++++++++++- 2 files changed, 243 insertions(+), 2 deletions(-) diff --git a/openlp/core/ui/servicemanager.py b/openlp/core/ui/servicemanager.py index 592b01524..369137694 100644 --- a/openlp/core/ui/servicemanager.py +++ b/openlp/core/ui/servicemanager.py @@ -993,7 +993,7 @@ class ServiceManager(OpenLPMixin, RegistryMixin, QtGui.QWidget, Ui_ServiceManage service_item.auto_play_slides_once = False self.set_modified() - def on_auto_start(self): + def on_auto_start(self, field=None): """ Toggles to Auto Start Setting. """ diff --git a/tests/functional/openlp_core_ui/test_servicemanager.py b/tests/functional/openlp_core_ui/test_servicemanager.py index 2c76ed965..bb9dff91e 100644 --- a/tests/functional/openlp_core_ui/test_servicemanager.py +++ b/tests/functional/openlp_core_ui/test_servicemanager.py @@ -31,7 +31,8 @@ Package to test the openlp.core.ui.slidecontroller package. """ from unittest import TestCase -from openlp.core.common import Registry +from openlp.core.common import Registry, ThemeLevel +from openlp.core.lib import ServiceItem, ServiceItemType, ItemCapabilities from openlp.core.ui import ServiceManager from tests.interfaces import MagicMock, patch @@ -89,3 +90,243 @@ class TestServiceManager(TestCase): self.assertEqual('txt' in service_manager.suffixes, True, 'The suffix txt should be in the list') self.assertEqual('ppt' in service_manager.suffixes, True, 'The suffix ppt should be in the list') self.assertEqual('pptx' in service_manager.suffixes, True, 'The suffix pptx should be in the list') + + def build_context_menu_test(self): + """ + Test the creation of a context menu from a null service item. + """ + # GIVEN: A new service manager instance and a default service item. + service_manager = ServiceManager(None) + item = MagicMock() + item.parent.return_value = False + item.data.return_value = 0 + service_manager.service_manager_list = MagicMock() + service_manager.service_manager_list.itemAt.return_value = item + service_item = ServiceItem(None) + service_manager.service_items.insert(1, {'service_item': service_item}) + service_manager.edit_action = MagicMock() + service_manager.rename_action = MagicMock() + service_manager.create_custom_action = MagicMock() + service_manager.maintain_action = MagicMock() + service_manager.notes_action = MagicMock() + service_manager.time_action = MagicMock() + service_manager.auto_start_action = MagicMock() + service_manager.auto_play_slides_menu = MagicMock() + service_manager.auto_play_slides_once = MagicMock() + service_manager.auto_play_slides_loop = MagicMock() + service_manager.timed_slide_interval = MagicMock() + service_manager.theme_menu = MagicMock() + service_manager.menu = MagicMock() + # WHEN I define a context menu + service_manager.context_menu(1) + # THEN the following calls should have occurred. + self.assertEquals(service_manager.edit_action.setVisible.call_count, 1, 'Should have been called once') + self.assertEquals(service_manager.rename_action.setVisible.call_count, 1, 'Should have been called once') + self.assertEquals(service_manager.create_custom_action.setVisible.call_count, 1, 'Should have been called once') + self.assertEquals(service_manager.maintain_action.setVisible.call_count, 1, 'Should have been called once') + self.assertEquals(service_manager.notes_action.setVisible.call_count, 1, 'Should have been called once') + self.assertEquals(service_manager.time_action.setVisible.call_count, 1, 'Should have been called once') + self.assertEquals(service_manager.auto_start_action.setVisible.call_count, 1, 'Should have been called once') + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 1, + 'Should have been called once') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.theme_menu.menuAction().setVisible.call_count, 1, + 'Should have been called once') + + def build_song_context_menu_test(self): + """ + Test the creation of a context menu from service item of type text from Songs. + """ + # GIVEN: A new service manager instance and a default service item. + mocked_renderer = MagicMock() + mocked_renderer.theme_level = ThemeLevel.Song + Registry().register('plugin_manager', MagicMock()) + Registry().register('renderer', mocked_renderer) + service_manager = ServiceManager(None) + item = MagicMock() + item.parent.return_value = False + item.data.return_value = 0 + service_manager.service_manager_list = MagicMock() + service_manager.service_manager_list.itemAt.return_value = item + service_item = ServiceItem(None) + service_item.add_capability(ItemCapabilities.CanEdit) + service_item.add_capability(ItemCapabilities.CanPreview) + service_item.add_capability(ItemCapabilities.CanLoop) + service_item.add_capability(ItemCapabilities.OnLoadUpdate) + service_item.add_capability(ItemCapabilities.AddIfNewItem) + service_item.add_capability(ItemCapabilities.CanSoftBreak) + service_item.service_item_type = ServiceItemType.Text + service_item.edit_id = 1 + service_item._display_frames.append(MagicMock()) + service_manager.service_items.insert(1, {'service_item': service_item}) + service_manager.edit_action = MagicMock() + service_manager.rename_action = MagicMock() + service_manager.create_custom_action = MagicMock() + service_manager.maintain_action = MagicMock() + service_manager.notes_action = MagicMock() + service_manager.time_action = MagicMock() + service_manager.auto_start_action = MagicMock() + service_manager.auto_play_slides_menu = MagicMock() + service_manager.auto_play_slides_once = MagicMock() + service_manager.auto_play_slides_loop = MagicMock() + service_manager.timed_slide_interval = MagicMock() + service_manager.theme_menu = MagicMock() + service_manager.menu = MagicMock() + # WHEN I define a context menu + service_manager.context_menu(1) + # THEN the following calls should have occurred. + self.assertEquals(service_manager.edit_action.setVisible.call_count, 2, 'Should have be called twice') + self.assertEquals(service_manager.rename_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.create_custom_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.maintain_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.notes_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.time_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_start_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.theme_menu.menuAction().setVisible.call_count, 2, + 'Should have be called twice') + # THEN we add a 2nd display frame + service_item._display_frames.append(MagicMock()) + service_manager.context_menu(1) + # THEN the following additional calls should have occurred. + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 2, + 'Should have be called twice') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 1, 'Should have be called once') + + def build_bible_context_menu_test(self): + """ + Test the creation of a context menu from service item of type text from Bibles. + """ + # GIVEN: A new service manager instance and a default service item. + mocked_renderer = MagicMock() + mocked_renderer.theme_level = ThemeLevel.Song + Registry().register('plugin_manager', MagicMock()) + Registry().register('renderer', mocked_renderer) + service_manager = ServiceManager(None) + item = MagicMock() + item.parent.return_value = False + item.data.return_value = 0 + service_manager.service_manager_list = MagicMock() + service_manager.service_manager_list.itemAt.return_value = item + service_item = ServiceItem(None) + service_item.add_capability(ItemCapabilities.NoLineBreaks) + service_item.add_capability(ItemCapabilities.CanPreview) + service_item.add_capability(ItemCapabilities.CanLoop) + service_item.add_capability(ItemCapabilities.CanWordSplit) + service_item.add_capability(ItemCapabilities.CanEditTitle) + service_item.service_item_type = ServiceItemType.Text + service_item.edit_id = 1 + service_item._display_frames.append(MagicMock()) + service_manager.service_items.insert(1, {'service_item': service_item}) + service_manager.edit_action = MagicMock() + service_manager.rename_action = MagicMock() + service_manager.create_custom_action = MagicMock() + service_manager.maintain_action = MagicMock() + service_manager.notes_action = MagicMock() + service_manager.time_action = MagicMock() + service_manager.auto_start_action = MagicMock() + service_manager.auto_play_slides_menu = MagicMock() + service_manager.auto_play_slides_once = MagicMock() + service_manager.auto_play_slides_loop = MagicMock() + service_manager.timed_slide_interval = MagicMock() + service_manager.theme_menu = MagicMock() + service_manager.menu = MagicMock() + # WHEN I define a context menu + service_manager.context_menu(1) + # THEN the following calls should have occurred. + self.assertEquals(service_manager.edit_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.rename_action.setVisible.call_count, 2, 'Should have be called twice') + self.assertEquals(service_manager.create_custom_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.maintain_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.notes_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.time_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_start_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.theme_menu.menuAction().setVisible.call_count, 2, + 'Should have be called twice') + # THEN we add a 2nd display frame + service_item._display_frames.append(MagicMock()) + service_manager.context_menu(1) + # THEN the following additional calls should have occurred. + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 2, + 'Should have be called twice') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 1, 'Should have be called once') + + def build_custom_context_menu_test(self): + """ + Test the creation of a context menu from service item of type text from Custom. + """ + # GIVEN: A new service manager instance and a default service item. + mocked_renderer = MagicMock() + mocked_renderer.theme_level = ThemeLevel.Song + Registry().register('plugin_manager', MagicMock()) + Registry().register('renderer', mocked_renderer) + service_manager = ServiceManager(None) + item = MagicMock() + item.parent.return_value = False + item.data.return_value = 0 + service_manager.service_manager_list = MagicMock() + service_manager.service_manager_list.itemAt.return_value = item + service_item = ServiceItem(None) + service_item.add_capability(ItemCapabilities.CanEdit) + service_item.add_capability(ItemCapabilities.CanPreview) + service_item.add_capability(ItemCapabilities.CanLoop) + service_item.add_capability(ItemCapabilities.CanSoftBreak) + service_item.add_capability(ItemCapabilities.OnLoadUpdate) + service_item.service_item_type = ServiceItemType.Text + service_item.edit_id = 1 + service_item._display_frames.append(MagicMock()) + service_manager.service_items.insert(1, {'service_item': service_item}) + service_manager.edit_action = MagicMock() + service_manager.rename_action = MagicMock() + service_manager.create_custom_action = MagicMock() + service_manager.maintain_action = MagicMock() + service_manager.notes_action = MagicMock() + service_manager.time_action = MagicMock() + service_manager.auto_start_action = MagicMock() + service_manager.auto_play_slides_menu = MagicMock() + service_manager.auto_play_slides_once = MagicMock() + service_manager.auto_play_slides_loop = MagicMock() + service_manager.timed_slide_interval = MagicMock() + service_manager.theme_menu = MagicMock() + service_manager.menu = MagicMock() + # WHEN I define a context menu + service_manager.context_menu(1) + # THEN the following calls should have occurred. + self.assertEquals(service_manager.edit_action.setVisible.call_count, 2, 'Should have be called twice') + self.assertEquals(service_manager.rename_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.create_custom_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.maintain_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.notes_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.time_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_start_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.theme_menu.menuAction().setVisible.call_count, 2, + 'Should have be called twice') + # THEN we add a 2nd display frame + service_item._display_frames.append(MagicMock()) + service_manager.context_menu(1) + # THEN the following additional calls should have occurred. + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 2, + 'Should have be called twice') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 1, 'Should have be called once') \ No newline at end of file From 09bb622af89af633b7d9b368c8e596d79db9d4c6 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 24 Aug 2014 10:32:26 +0100 Subject: [PATCH 3/4] Final tests --- .../openlp_core_ui/test_servicemanager.py | 225 +++++++++++++++++- 1 file changed, 224 insertions(+), 1 deletion(-) diff --git a/tests/functional/openlp_core_ui/test_servicemanager.py b/tests/functional/openlp_core_ui/test_servicemanager.py index bb9dff91e..d8d2be50e 100644 --- a/tests/functional/openlp_core_ui/test_servicemanager.py +++ b/tests/functional/openlp_core_ui/test_servicemanager.py @@ -329,4 +329,227 @@ class TestServiceManager(TestCase): 'Should have be called twice') self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 1, 'Should have be called once') self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 1, 'Should have be called once') - self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 1, 'Should have be called once') \ No newline at end of file + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 1, 'Should have be called once') + + def build_image_context_menu_test(self): + """ + Test the creation of a context menu from service item of type Image from Image. + """ + # GIVEN: A new service manager instance and a default service item. + Registry().register('plugin_manager', MagicMock()) + Registry().register('renderer', MagicMock()) + service_manager = ServiceManager(None) + item = MagicMock() + item.parent.return_value = False + item.data.return_value = 0 + service_manager.service_manager_list = MagicMock() + service_manager.service_manager_list.itemAt.return_value = item + service_item = ServiceItem(None) + service_item.add_capability(ItemCapabilities.CanMaintain) + service_item.add_capability(ItemCapabilities.CanPreview) + service_item.add_capability(ItemCapabilities.CanLoop) + service_item.add_capability(ItemCapabilities.CanAppend) + service_item.add_capability(ItemCapabilities.CanEditTitle) + service_item.service_item_type = ServiceItemType.Image + service_item.edit_id = 1 + service_item._raw_frames.append(MagicMock()) + service_manager.service_items.insert(1, {'service_item': service_item}) + service_manager.edit_action = MagicMock() + service_manager.rename_action = MagicMock() + service_manager.create_custom_action = MagicMock() + service_manager.maintain_action = MagicMock() + service_manager.notes_action = MagicMock() + service_manager.time_action = MagicMock() + service_manager.auto_start_action = MagicMock() + service_manager.auto_play_slides_menu = MagicMock() + service_manager.auto_play_slides_once = MagicMock() + service_manager.auto_play_slides_loop = MagicMock() + service_manager.timed_slide_interval = MagicMock() + service_manager.theme_menu = MagicMock() + service_manager.menu = MagicMock() + # WHEN I define a context menu + service_manager.context_menu(1) + # THEN the following calls should have occurred. + self.assertEquals(service_manager.edit_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.rename_action.setVisible.call_count, 2, 'Should have be called twice') + self.assertEquals(service_manager.create_custom_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.maintain_action.setVisible.call_count, 2, 'Should have be called twice') + self.assertEquals(service_manager.notes_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.time_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_start_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.theme_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + # THEN we add a 2nd display frame and regenerate the menu. + service_item._raw_frames.append(MagicMock()) + service_manager.context_menu(1) + # THEN the following additional calls should have occurred. + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 2, + 'Should have be called twice') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 1, 'Should have be called once') + + def build_media_context_menu_test(self): + """ + Test the creation of a context menu from service item of type Command from Media. + """ + # GIVEN: A new service manager instance and a default service item. + Registry().register('plugin_manager', MagicMock()) + Registry().register('renderer', MagicMock()) + service_manager = ServiceManager(None) + item = MagicMock() + item.parent.return_value = False + item.data.return_value = 0 + service_manager.service_manager_list = MagicMock() + service_manager.service_manager_list.itemAt.return_value = item + service_item = ServiceItem(None) + service_item.add_capability(ItemCapabilities.CanAutoStartForLive) + service_item.add_capability(ItemCapabilities.CanEditTitle) + service_item.add_capability(ItemCapabilities.RequiresMedia) + service_item.service_item_type = ServiceItemType.Command + service_item.edit_id = 1 + service_item._raw_frames.append(MagicMock()) + service_manager.service_items.insert(1, {'service_item': service_item}) + service_manager.edit_action = MagicMock() + service_manager.rename_action = MagicMock() + service_manager.create_custom_action = MagicMock() + service_manager.maintain_action = MagicMock() + service_manager.notes_action = MagicMock() + service_manager.time_action = MagicMock() + service_manager.auto_start_action = MagicMock() + service_manager.auto_play_slides_menu = MagicMock() + service_manager.auto_play_slides_once = MagicMock() + service_manager.auto_play_slides_loop = MagicMock() + service_manager.timed_slide_interval = MagicMock() + service_manager.theme_menu = MagicMock() + service_manager.menu = MagicMock() + # WHEN I define a context menu + service_manager.context_menu(1) + # THEN the following calls should have occurred. + self.assertEquals(service_manager.edit_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.rename_action.setVisible.call_count, 2, 'Should have be called twice') + self.assertEquals(service_manager.create_custom_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.maintain_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.notes_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.time_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_start_action.setVisible.call_count, 2, 'Should have be called twice') + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.theme_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + # THEN I change the length of the media and regenerate the menu. + service_item.set_media_length(5) + service_manager.context_menu(1) + # THEN the following additional calls should have occurred. + self.assertEquals(service_manager.time_action.setVisible.call_count, 3, 'Should have be called three times') + + def build_presentation_pdf_context_menu_test(self): + """ + Test the creation of a context menu from service item of type Command with PDF from Presentation. + """ + # GIVEN: A new service manager instance and a default service item. + Registry().register('plugin_manager', MagicMock()) + Registry().register('renderer', MagicMock()) + service_manager = ServiceManager(None) + item = MagicMock() + item.parent.return_value = False + item.data.return_value = 0 + service_manager.service_manager_list = MagicMock() + service_manager.service_manager_list.itemAt.return_value = item + service_item = ServiceItem(None) + service_item.add_capability(ItemCapabilities.CanMaintain) + service_item.add_capability(ItemCapabilities.CanPreview) + service_item.add_capability(ItemCapabilities.CanLoop) + service_item.add_capability(ItemCapabilities.CanAppend) + service_item.service_item_type = ServiceItemType.Command + service_item.edit_id = 1 + service_item._raw_frames.append(MagicMock()) + service_manager.service_items.insert(1, {'service_item': service_item}) + service_manager.edit_action = MagicMock() + service_manager.rename_action = MagicMock() + service_manager.create_custom_action = MagicMock() + service_manager.maintain_action = MagicMock() + service_manager.notes_action = MagicMock() + service_manager.time_action = MagicMock() + service_manager.auto_start_action = MagicMock() + service_manager.auto_play_slides_menu = MagicMock() + service_manager.auto_play_slides_once = MagicMock() + service_manager.auto_play_slides_loop = MagicMock() + service_manager.timed_slide_interval = MagicMock() + service_manager.theme_menu = MagicMock() + service_manager.menu = MagicMock() + # WHEN I define a context menu + service_manager.context_menu(1) + # THEN the following calls should have occurred. + self.assertEquals(service_manager.edit_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.rename_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.create_custom_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.maintain_action.setVisible.call_count, 2, 'Should have be called twice') + self.assertEquals(service_manager.notes_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.time_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_start_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.theme_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + + def build_presentation_non_pdf_context_menu_test(self): + """ + Test the creation of a context menu from service item of type Command with Impress from Presentation. + """ + # GIVEN: A new service manager instance and a default service item. + Registry().register('plugin_manager', MagicMock()) + Registry().register('renderer', MagicMock()) + service_manager = ServiceManager(None) + item = MagicMock() + item.parent.return_value = False + item.data.return_value = 0 + service_manager.service_manager_list = MagicMock() + service_manager.service_manager_list.itemAt.return_value = item + service_item = ServiceItem(None) + service_item.add_capability(ItemCapabilities.ProvidesOwnDisplay) + service_item.service_item_type = ServiceItemType.Command + service_item.edit_id = 1 + service_item._raw_frames.append(MagicMock()) + service_manager.service_items.insert(1, {'service_item': service_item}) + service_manager.edit_action = MagicMock() + service_manager.rename_action = MagicMock() + service_manager.create_custom_action = MagicMock() + service_manager.maintain_action = MagicMock() + service_manager.notes_action = MagicMock() + service_manager.time_action = MagicMock() + service_manager.auto_start_action = MagicMock() + service_manager.auto_play_slides_menu = MagicMock() + service_manager.auto_play_slides_once = MagicMock() + service_manager.auto_play_slides_loop = MagicMock() + service_manager.timed_slide_interval = MagicMock() + service_manager.theme_menu = MagicMock() + service_manager.menu = MagicMock() + # WHEN I define a context menu + service_manager.context_menu(1) + # THEN the following calls should have occurred. + self.assertEquals(service_manager.edit_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.rename_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.create_custom_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.maintain_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.notes_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.time_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_start_action.setVisible.call_count, 1, 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') + self.assertEquals(service_manager.auto_play_slides_once.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.auto_play_slides_loop.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.timed_slide_interval.setChecked.call_count, 0, 'Should not be called') + self.assertEquals(service_manager.theme_menu.menuAction().setVisible.call_count, 1, + 'Should have be called once') From 3026e7bd47fd40271c1171f96ae2f5b8c7908609 Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sun, 24 Aug 2014 11:24:23 +0100 Subject: [PATCH 4/4] remove script change --- scripts/jenkins_script.py | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/scripts/jenkins_script.py b/scripts/jenkins_script.py index 430e842ce..7abdbccd0 100755 --- a/scripts/jenkins_script.py +++ b/scripts/jenkins_script.py @@ -89,7 +89,7 @@ class JenkinsTrigger(object): :param token: The token we need to trigger the build. If you do not have this token, ask in IRC. """ self.token = token - self.base_name, self.repo_name = get_repo_name('b') + self.repo_name = get_repo_name() self.jenkins_instance = Jenkins(JENKINS_URL) def trigger_build(self): @@ -113,8 +113,7 @@ class JenkinsTrigger(object): bzr = Popen(('bzr', 'revno'), stdout=PIPE, stderr=PIPE) raw_output, error = bzr.communicate() revno = raw_output.decode().strip() - print('Remote repository: %s ' % self.repo_name) - print(' Local repository: %s (revision %s)' % (self.repo_name, revno)) + print('%s (revision %s)' % (get_repo_name(), revno)) for job in OpenLPJobs.Jobs: if not self.__print_build_info(job): @@ -154,7 +153,7 @@ class JenkinsTrigger(object): return is_success -def get_repo_name(branch_type='l'): +def get_repo_name(): """ This returns the name of branch of the working directory. For example it returns *lp:~googol/openlp/render*. """ @@ -170,7 +169,6 @@ def get_repo_name(branch_type='l'): output_list = list(map(str.strip, raw_output.split('\n'))) # Determine the branch's name repo_name = '' - base_name = '' for line in output_list: # Check if it is remote branch. if 'push branch' in line: @@ -183,15 +181,7 @@ def get_repo_name(branch_type='l'): if match: repo_name = 'lp:%s' % match.group(2) break - elif 'repository branch' in line: - base_name = line.split(':')[1] - break - if branch_type == 'b': - return base_name.strip('/'), repo_name.strip('/') - elif branch_type == 'r': - return base_name.strip('/') - else: - return repo_name.strip('/') + return repo_name.strip('/') def main(): @@ -205,12 +195,9 @@ def main(): options, args = parser.parse_args(sys.argv) if len(args) == 2: - if not get_repo_name('l'): + if not get_repo_name(): print('Not a branch. Have you pushed it to launchpad? Did you cd to the branch?') return - if not get_repo_name('r'): - print('No remote branch. Have you pushed it to launchpad? Did you cd to the branch?') - return token = args[-1] if token in OLD_TOKENS: print('Your token is not valid anymore. Get the most recent one.')