Tim Bentley has proposed merging lp:~trb143/openlp/themefixes into lp:openlp.
Requested reviews: OpenLP Core (openlp-core) For more details, see: https://code.launchpad.net/~trb143/openlp/themefixes/+merge/290331 Service Manager themes are not updated in service items when the settings theme is changed. lp:~trb143/openlp/themefixes (revision 2634) [SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/1342/ [SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/1262/ [SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1201/ [SUCCESS] https://ci.openlp.io/job/Branch-04a-Windows_Functional_Tests/1036/ [SUCCESS] https://ci.openlp.io/job/Branch-04b-Windows_Interface_Tests/627/ [SUCCESS] https://ci.openlp.io/job/Branch-05a-Code_Analysis/694/ [SUCCESS] https://ci.openlp.io/job/Branch-05b-Test_Coverage/562/ -- Your team OpenLP Core is requested to review the proposed merge of lp:~trb143/openlp/themefixes into lp:openlp.
=== modified file 'openlp/core/ui/servicemanager.py' --- openlp/core/ui/servicemanager.py 2016-01-19 07:02:47 +0000 +++ openlp/core/ui/servicemanager.py 2016-03-29 16:18:16 +0000 @@ -1326,6 +1326,7 @@ visible = self.renderer.theme_level == ThemeLevel.Global self.theme_label.setVisible(visible) self.theme_combo_box.setVisible(visible) + self.regenerate_service_items() def regenerate_service_items(self, changed=False): """ === added file 'tests/functional/openlp_core_ui/test_themetab.py' --- tests/functional/openlp_core_ui/test_themetab.py 1970-01-01 00:00:00 +0000 +++ tests/functional/openlp_core_ui/test_themetab.py 2016-03-29 16:18:16 +0000 @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- +# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4 + +############################################################################### +# OpenLP - Open Source Lyrics Projection # +# --------------------------------------------------------------------------- # +# Copyright (c) 2008-2016 OpenLP Developers # +# --------------------------------------------------------------------------- # +# This program is free software; you can redistribute it and/or modify it # +# under the terms of the GNU General Public License as published by the Free # +# Software Foundation; version 2 of the License. # +# # +# This program is distributed in the hope that it will be useful, but WITHOUT # +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # +# more details. # +# # +# You should have received a copy of the GNU General Public License along # +# with this program; if not, write to the Free Software Foundation, Inc., 59 # +# Temple Place, Suite 330, Boston, MA 02111-1307 USA # +############################################################################### +""" +Package to test the openlp.core.ui.ThemeTab package. +""" +from unittest import TestCase + +from openlp.core.common import Registry +from openlp.core.ui.themestab import ThemesTab +from openlp.core.ui.settingsform import SettingsForm + +from tests.helpers.testmixin import TestMixin +from tests.functional import MagicMock + + +class TestThemeTab(TestCase, TestMixin): + + def setUp(self): + """ + Set up a few things for the tests + """ + Registry.create() + + def test_creation(self): + """ + Test that Themes Tab is created. + """ + # GIVEN: A new Advanced Tab + settings_form = SettingsForm(None) + + # WHEN: I create an advanced tab + themes_tab = ThemesTab(settings_form) + + # THEN: + self.assertEqual("Themes", themes_tab.tab_title, 'The tab title should be Theme') + + def test_save_triggers_processes_true(self): + """ + Test that the global theme event is triggered when the tab is visited. + """ + # GIVEN: A new Advanced Tab + settings_form = SettingsForm(None) + themes_tab = ThemesTab(settings_form) + Registry().register('renderer', MagicMock()) + themes_tab.tab_visited = True + # WHEN: I change search as type check box + themes_tab.save() + + # THEN: we should have two post save processed to run + self.assertEqual(1, len(settings_form.processes), 'One post save processes should be created') + + def test_save_triggers_processes_false(self): + """ + Test that the global theme event is not triggered when the tab is not visited. + """ + # GIVEN: A new Advanced Tab + settings_form = SettingsForm(None) + themes_tab = ThemesTab(settings_form) + Registry().register('renderer', MagicMock()) + themes_tab.tab_visited = False + # WHEN: I change search as type check box + themes_tab.save() + + # THEN: we should have two post save processed to run + self.assertEqual(0, len(settings_form.processes), 'No post save processes should be created')
_______________________________________________ Mailing list: https://launchpad.net/~openlp-core Post to : openlp-core@lists.launchpad.net Unsubscribe : https://launchpad.net/~openlp-core More help : https://help.launchpad.net/ListHelp