From d253ef5852215873e717ec48ab49821c4f711e2a Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Sat, 15 Jun 2013 21:51:11 +0100 Subject: [PATCH] Fix bug and add new test or bibles --- openlp/core/ui/slidecontroller.py | 18 +++++----- .../openlp_plugins/bibles/__init__.py | 1 + .../openlp_plugins/bibles/test_lib_http.py | 33 +++++++++++++++++++ 3 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 tests/functional/openlp_plugins/bibles/__init__.py create mode 100644 tests/functional/openlp_plugins/bibles/test_lib_http.py diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 5cec2659c..2266026d6 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -591,7 +591,8 @@ class SlideController(DisplayController): """ request = self.sender().text() slide_no = self.slideList[request] - self.__updatePreviewSelection(slide_no) + width = self.main_window.controlSplitter.sizes()[self.split] + self.preview_widget.replace_service_item(self.service_item, width, slide_no) self.slideSelected() def receive_spin_delay(self): @@ -757,10 +758,8 @@ class SlideController(DisplayController): self.display.audio_player.play() self.setAudioItemsVisibility(True) row = 0 - text = [] width = self.main_window.controlSplitter.sizes()[self.split] for framenumber, frame in enumerate(self.service_item.get_frames()): - slideHeight = 0 if self.service_item.is_text(): if frame[u'verseTag']: # These tags are already translated. @@ -776,7 +775,6 @@ class SlideController(DisplayController): row += 1 self.slideList[unicode(row)] = row - 1 else: - slideHeight = width * (1 / self.ratio) row += 1 self.slideList[unicode(row)] = row - 1 # If current slide set background to image @@ -867,7 +865,7 @@ class SlideController(DisplayController): Settings().remove(self.main_window.general_settings_section + u'/screen blank') self.blankPlugin() self.updatePreview() - self.onToggleLoop() + self.on_toggle_loop() def onThemeDisplay(self, checked=None): """ @@ -886,7 +884,7 @@ class SlideController(DisplayController): Settings().remove(self.main_window.general_settings_section + u'/screen blank') self.blankPlugin() self.updatePreview() - self.onToggleLoop() + self.on_toggle_loop() def onHideDisplay(self, checked=None): """ @@ -905,7 +903,7 @@ class SlideController(DisplayController): Settings().remove(self.main_window.general_settings_section + u'/screen blank') self.hidePlugin(checked) self.updatePreview() - self.onToggleLoop() + self.on_toggle_loop() def blankPlugin(self): """ @@ -1073,7 +1071,7 @@ class SlideController(DisplayController): self.preview_widget.change_slide(row) self.slideSelected() - def onToggleLoop(self): + def on_toggle_loop(self): """ Toggles the loop state. """ @@ -1117,7 +1115,7 @@ class SlideController(DisplayController): else: self.play_slides_loop.setIcon(build_icon(u':/media/media_time.png')) self.play_slides_loop.setText(UiStrings().PlaySlidesInLoop) - self.onToggleLoop() + self.on_toggle_loop() def onPlaySlidesOnce(self, checked=None): """ @@ -1138,7 +1136,7 @@ class SlideController(DisplayController): else: self.play_slides_once.setIcon(build_icon(u':/media/media_time')) self.play_slides_once.setText(UiStrings().PlaySlidesToEnd) - self.onToggleLoop() + self.on_toggle_loop() def setAudioItemsVisibility(self, visible): """ diff --git a/tests/functional/openlp_plugins/bibles/__init__.py b/tests/functional/openlp_plugins/bibles/__init__.py new file mode 100644 index 000000000..f87606f07 --- /dev/null +++ b/tests/functional/openlp_plugins/bibles/__init__.py @@ -0,0 +1 @@ +__author__ = 'tim' diff --git a/tests/functional/openlp_plugins/bibles/test_lib_http.py b/tests/functional/openlp_plugins/bibles/test_lib_http.py new file mode 100644 index 000000000..b9982b42e --- /dev/null +++ b/tests/functional/openlp_plugins/bibles/test_lib_http.py @@ -0,0 +1,33 @@ +""" + Package to test the openlp.plugin.bible.lib.https package. +""" + +from unittest import TestCase +from mock import MagicMock, patch + +from openlp.core.lib import Registry +from openlp.plugins.bibles.lib.http import BGExtract + + +class TestBibleHTTP(TestCase): + + def setUp(self): + """ + Set up the Registry + """ + Registry.create() + Registry().register(u'service_list', MagicMock()) + Registry().register(u'application', MagicMock()) + + def bible_gateway_extract_test(self): + """ + Test the Bible Gateway retrieval of book list for NIV + """ + # GIVEN: A new Bible Gateway extraction class + handler = BGExtract() + + # WHEN: The Books list is called + books = handler.get_books_from_http(u'NIV') + + # THEN: We should get back a valid service item + assert len(books) == 66, u'The bible should not have had its lenght changed'