2013-10-11 15:48:14 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# vim: autoindent shiftwidth=4 expandtab textwidth=120 tabstop=4 softtabstop=4
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
# OpenLP - Open Source Lyrics Projection #
|
|
|
|
# --------------------------------------------------------------------------- #
|
|
|
|
# Copyright (c) 2008-2013 Raoul Snyman #
|
|
|
|
# Portions copyright (c) 2008-2013 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, Dmitriy Marmyshev #
|
|
|
|
# --------------------------------------------------------------------------- #
|
|
|
|
# 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.lib.maindisplay package.
|
|
|
|
"""
|
|
|
|
from unittest import TestCase
|
|
|
|
|
2013-10-26 22:53:32 +00:00
|
|
|
from tests.functional import MagicMock
|
2013-10-24 20:24:58 +00:00
|
|
|
from PyQt4 import QtCore
|
2013-10-11 15:48:14 +00:00
|
|
|
|
|
|
|
from openlp.core.ui.maindisplay import MainDisplay
|
|
|
|
|
|
|
|
|
|
|
|
class TestMainDisplay(TestCase):
|
|
|
|
"""
|
|
|
|
Test the functions in the :mod:`MainDisplay` module.
|
|
|
|
"""
|
|
|
|
#TODO: The following classes still need tests written for
|
|
|
|
# - Display
|
|
|
|
# - MainDisplay
|
|
|
|
# - AudioPlayer
|
|
|
|
|
|
|
|
|
|
|
|
def set_transparency_enable_test(self):
|
|
|
|
"""
|
|
|
|
Test creating an instance of the MainDisplay class
|
|
|
|
"""
|
2013-10-24 18:12:41 +00:00
|
|
|
# GIVEN: get an instance of MainDisplay
|
|
|
|
display = MagicMock()
|
2013-10-24 20:24:58 +00:00
|
|
|
main_display = MainDisplay(display)
|
2013-10-11 15:48:14 +00:00
|
|
|
|
2013-10-24 20:24:58 +00:00
|
|
|
# WHEN: MainDisplay.set_transparency is called with a true value"
|
|
|
|
main_display.set_transparency(True)
|
2013-10-11 15:48:14 +00:00
|
|
|
|
2013-10-24 18:12:41 +00:00
|
|
|
# THEN: check MainDisplay.setAutoFillBackground, MainDisplay.setStyleSheet, MainDisplay.setAttribute,
|
2013-10-24 20:24:58 +00:00
|
|
|
assert main_display.StyleSheet == "QGraphicsView {background: transparent; border: 0px;}", \
|
2013-10-11 15:48:14 +00:00
|
|
|
'MainDisplay instance should be transparent'
|
2013-10-24 20:24:58 +00:00
|
|
|
assert main_display.getAutoFillBackground == False, \
|
2013-10-24 18:12:41 +00:00
|
|
|
'MainDisplay instance should be without background auto fill'
|
2013-10-24 20:24:58 +00:00
|
|
|
assert main_display.getAttribute(QtCore.Qt.WA_TranslucentBackground) == True, \
|
2013-10-24 18:12:41 +00:00
|
|
|
'MainDisplay hasnt translusent background'
|
|
|
|
|
|
|
|
def set_transparency_disable_test(self):
|
|
|
|
"""
|
|
|
|
Test creating an instance of the MainDisplay class
|
|
|
|
"""
|
|
|
|
# GIVEN: get an instance of MainDisplay
|
|
|
|
display = MagicMock()
|
2013-10-24 20:24:58 +00:00
|
|
|
main_display = MainDisplay(display)
|
2013-10-24 18:12:41 +00:00
|
|
|
|
|
|
|
# WHEN: MainDispaly.set_transparency is called with a False value"
|
2013-10-24 20:24:58 +00:00
|
|
|
main_display.set_transparency(False)
|
2013-10-24 18:12:41 +00:00
|
|
|
|
|
|
|
# THEN: check MainDisplay.setAutoFillBackground, MainDisplay.setStyleSheet, MainDisplay.setAttribute,
|
2013-10-24 20:24:58 +00:00
|
|
|
assert main_display.StyleSheet == "QGraphicsView {}", \
|
2013-10-24 18:12:41 +00:00
|
|
|
'MainDisplay instance should not be transparent'
|
2013-10-24 20:24:58 +00:00
|
|
|
assert main_display.getAutoFillBackground == True, 'MainDisplay instance should be with background auto fill'
|
|
|
|
assert main_display.getAttribute(QtCore.Qt.WA_TranslucentBackground) == True, \
|
2013-10-24 18:12:41 +00:00
|
|
|
'MainDisplay hasnt translusent background'
|