← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~tomasgroth/openlp/mediaplayer-mac into lp:openlp

 

Tomas Groth has proposed merging lp:~tomasgroth/openlp/mediaplayer-mac into lp:openlp.

Requested reviews:
  Tim Bentley (trb143)
  Raoul Snyman (raoul-snyman)

For more details, see:
https://code.launchpad.net/~tomasgroth/openlp/mediaplayer-mac/+merge/245481

Disable webkit and phonon mediaplayers on Mac OS X,.
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/ui/media/phononplayer.py'
--- openlp/core/ui/media/phononplayer.py	2014-12-31 10:58:13 +0000
+++ openlp/core/ui/media/phononplayer.py	2015-01-01 17:47:38 +0000
@@ -39,6 +39,7 @@
 
 from openlp.core.ui.media import MediaState
 from openlp.core.ui.media.mediaplayer import MediaPlayer
+from openlp.core.common import is_macosx
 
 
 log = logging.getLogger(__name__)
@@ -124,7 +125,11 @@
         """
         Check if the player is available
         """
-        return True
+        # At the moment we don't have support for phononplayer on Mac OS X
+        if is_macosx():
+            return False
+        else:
+            return True
 
     def load(self, display):
         """

=== modified file 'openlp/core/ui/media/webkitplayer.py'
--- openlp/core/ui/media/webkitplayer.py	2014-12-31 10:58:13 +0000
+++ openlp/core/ui/media/webkitplayer.py	2015-01-01 17:47:38 +0000
@@ -33,7 +33,7 @@
 
 import logging
 
-from openlp.core.common import Settings
+from openlp.core.common import Settings, is_macosx
 from openlp.core.lib import translate
 from openlp.core.ui.media import MediaState
 from openlp.core.ui.media.mediaplayer import MediaPlayer
@@ -231,7 +231,11 @@
         """
         Check the availability of the media player
         """
-        return True
+        # At the moment we don't have support for webkitplayer on Mac OS X
+        if is_macosx():
+            return False
+        else:
+            return True
 
     def load(self, display):
         """

=== added file 'tests/functional/openlp_core_ui_media/test_phononplayer.py'
--- tests/functional/openlp_core_ui_media/test_phononplayer.py	1970-01-01 00:00:00 +0000
+++ tests/functional/openlp_core_ui_media/test_phononplayer.py	2015-01-01 17:47:38 +0000
@@ -0,0 +1,71 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection                                      #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2015 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2015 Tim Bentley, Gerald Britton, Jonathan      #
+# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
+# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
+# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
+# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith,             #
+# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock,              #
+# Frode Woldsund, Martin Zibricky, Patrick Zimmermann                         #
+# --------------------------------------------------------------------------- #
+# 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.media.phononplayer package.
+"""
+from unittest import TestCase
+from tests.functional import patch
+
+from openlp.core.ui.media.phononplayer import PhononPlayer
+
+
+class TestPhononPlayer(TestCase):
+    """
+    Test the functions in the :mod:`phononplayer` module.
+    """
+
+    def check_available_mac_test(self):
+        """
+        Simple test of phononplayer availability on Mac OS X
+        """
+        # GIVEN: A PhononPlayer and a mocked is_macosx
+        with patch('openlp.core.ui.media.phononplayer.is_macosx') as mocked_is_macosx:
+            mocked_is_macosx.return_value = True
+            phonon_player = PhononPlayer(None)
+
+            # WHEN: An checking if the player is available
+            available = phonon_player.check_available()
+
+            # THEN: The player should not be available on Mac OS X
+            self.assertEqual(False, available, 'The PhononPlayer should not be available on Mac OS X.')
+
+    def check_available_non_mac_test(self):
+        """
+        Simple test of phononplayer availability when not on Mac OS X
+        """
+        # GIVEN: A PhononPlayer and a mocked is_macosx
+        with patch('openlp.core.ui.media.phononplayer.is_macosx') as mocked_is_macosx:
+            mocked_is_macosx.return_value = False
+            phonon_player = PhononPlayer(None)
+
+            # WHEN: An checking if the player is available
+            available = phonon_player.check_available()
+
+            # THEN: The player should be available when not on Mac OS X
+            self.assertEqual(True, available, 'The PhononPlayer should be available when not on Mac OS X.')

=== added file 'tests/functional/openlp_core_ui_media/test_webkitplayer.py'
--- tests/functional/openlp_core_ui_media/test_webkitplayer.py	1970-01-01 00:00:00 +0000
+++ tests/functional/openlp_core_ui_media/test_webkitplayer.py	2015-01-01 17:47:38 +0000
@@ -0,0 +1,71 @@
+# -*- coding: utf-8 -*-
+# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
+
+###############################################################################
+# OpenLP - Open Source Lyrics Projection                                      #
+# --------------------------------------------------------------------------- #
+# Copyright (c) 2008-2015 Raoul Snyman                                        #
+# Portions copyright (c) 2008-2015 Tim Bentley, Gerald Britton, Jonathan      #
+# Corwin, Samuel Findlay, Michael Gorven, Scott Guerrieri, Matthias Hub,      #
+# Meinert Jordan, Armin Köhler, Erik Lundin, Edwin Lunando, Brian T. Meyer.   #
+# Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias Põldaru,          #
+# Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith,             #
+# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Dave Warnock,              #
+# Frode Woldsund, Martin Zibricky, Patrick Zimmermann                         #
+# --------------------------------------------------------------------------- #
+# 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.media.webkitplayer package.
+"""
+from unittest import TestCase
+from tests.functional import patch
+
+from openlp.core.ui.media.webkitplayer import WebkitPlayer
+
+
+class TestWebkitPlayer(TestCase):
+    """
+    Test the functions in the :mod:`webkitplayer` module.
+    """
+
+    def check_available_mac_test(self):
+        """
+        Simple test of webkitplayer availability on Mac OS X
+        """
+        # GIVEN: A WebkitPlayer and a mocked is_macosx
+        with patch('openlp.core.ui.media.webkitplayer.is_macosx') as mocked_is_macosx:
+            mocked_is_macosx.return_value = True
+            webkit_player = WebkitPlayer(None)
+
+            # WHEN: An checking if the player is available
+            available = webkit_player.check_available()
+
+            # THEN: The player should not be available on Mac OS X
+            self.assertEqual(False, available, 'The WebkitPlayer should not be available on Mac OS X.')
+
+    def check_available_non_mac_test(self):
+        """
+        Simple test of webkitplayer availability when not on Mac OS X
+        """
+        # GIVEN: A WebkitPlayer and a mocked is_macosx
+        with patch('openlp.core.ui.media.webkitplayer.is_macosx') as mocked_is_macosx:
+            mocked_is_macosx.return_value = False
+            webkit_player = WebkitPlayer(None)
+
+            # WHEN: An checking if the player is available
+            available = webkit_player.check_available()
+
+            # THEN: The player should be available when not on Mac OS X
+            self.assertEqual(True, available, 'The WebkitPlayer should be available when not on Mac OS X.')


Follow ups