forked from openlp/openlp
Fix the QSize bug.
Add this to your merge proposal: -------------------------------- lp:~raoul-snyman/openlp/qsize-2.4 (revision 2664) [SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/1866/ [SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/1777/ [SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1715/ [SUCCESS] https://ci.openlp.io/job/Branch-04a-Windows_Functional_Tests/1455/ [SUCCESS] https://ci.openlp.io/job/Branch-04b-Windows_Interface_Tests/1045/ [SUCCESS] https:/... bzr-revno: 2661
This commit is contained in:
commit
f4f0b3d035
@ -61,9 +61,8 @@ def source_group(inputs, source_text):
|
||||
"""
|
||||
groupdict = {}
|
||||
keydict = {}
|
||||
checklist = inputs
|
||||
key = checklist[0][0]
|
||||
for item in checklist:
|
||||
key = inputs[0][0]
|
||||
for item in inputs:
|
||||
if item[0] == key:
|
||||
groupdict[item] = source_text[item]
|
||||
continue
|
||||
@ -75,7 +74,7 @@ def source_group(inputs, source_text):
|
||||
return keydict
|
||||
|
||||
|
||||
def Build_Tab(group, source_key, default, projector, projectordb, edit=False):
|
||||
def build_tab(group, source_key, default, projector, projectordb, edit=False):
|
||||
"""
|
||||
Create the radio button page for a tab.
|
||||
Dictionary will be a 1-key entry where key=tab to setup, val=list of inputs.
|
||||
@ -174,7 +173,7 @@ class FingerTabBarWidget(QtWidgets.QTabBar):
|
||||
:param width: Remove default width parameter in kwargs
|
||||
:param height: Remove default height parameter in kwargs
|
||||
"""
|
||||
self.tabSize = QtWidgets.QSize(kwargs.pop('width', 100), kwargs.pop('height', 25))
|
||||
self.tabSize = QtCore.QSize(kwargs.pop('width', 100), kwargs.pop('height', 25))
|
||||
QtWidgets.QTabBar.__init__(self, parent, *args, **kwargs)
|
||||
|
||||
def paintEvent(self, event):
|
||||
@ -275,7 +274,7 @@ class SourceSelectTabs(QtWidgets.QDialog):
|
||||
keys.sort()
|
||||
if self.edit:
|
||||
for key in keys:
|
||||
(tab, button_count, buttonchecked) = Build_Tab(group=self.button_group,
|
||||
(tab, button_count, buttonchecked) = build_tab(group=self.button_group,
|
||||
source_key={key: self.source_group[key]},
|
||||
default=self.projector.source,
|
||||
projector=self.projector,
|
||||
@ -290,7 +289,7 @@ class SourceSelectTabs(QtWidgets.QDialog):
|
||||
QtWidgets.QDialogButtonBox.Cancel)
|
||||
else:
|
||||
for key in keys:
|
||||
(tab, button_count, buttonchecked) = Build_Tab(group=self.button_group,
|
||||
(tab, button_count, buttonchecked) = build_tab(group=self.button_group,
|
||||
source_key={key: self.source_group[key]},
|
||||
default=self.projector.source,
|
||||
projector=self.projector,
|
||||
|
@ -0,0 +1,83 @@
|
||||
# -*- 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 #
|
||||
###############################################################################
|
||||
"""
|
||||
:mod: `tests.functional.openlp_core_ui.test_projectorsourceform` module
|
||||
|
||||
Tests for the Projector Source Select form.
|
||||
"""
|
||||
from PyQt5 import QtCore
|
||||
|
||||
from openlp.core.ui.projector.sourceselectform import FingerTabBarWidget, source_group
|
||||
|
||||
|
||||
def test_source_group():
|
||||
"""
|
||||
Test the source_group() method
|
||||
"""
|
||||
# GIVEN: A list of inputs and source text
|
||||
inputs = [
|
||||
'vga1', 'vga2',
|
||||
'hdmi1', 'hdmi2'
|
||||
]
|
||||
source_text = {
|
||||
'vga1': 'VGA 1',
|
||||
'vga2': 'VGA 2',
|
||||
'hdmi1': 'HDMI 1',
|
||||
'hdmi2': 'HDMI 2'
|
||||
}
|
||||
|
||||
# WHEN: source_group() is called
|
||||
result = source_group(inputs, source_text)
|
||||
|
||||
# THEN: the resultant dictionary should be correct
|
||||
expected_dict = {
|
||||
'v': {'vga1': 'VGA 1', 'vga2': 'VGA 2'},
|
||||
'h': {'hdmi1': 'HDMI 1', 'hdmi2': 'HDMI 2'}
|
||||
}
|
||||
assert result == expected_dict, result
|
||||
|
||||
|
||||
def test_finger_tab_bar_widget():
|
||||
"""
|
||||
Test that the FingerTabBarWidget is initialised correctly
|
||||
"""
|
||||
# GIVEN: A FinderTabBarWidget class
|
||||
# WHEN: An instance of the FingerTabBarWidget is created
|
||||
widget = FingerTabBarWidget()
|
||||
|
||||
# THEN: It should havea tabSize of 100x25
|
||||
assert widget.tabSize == QtCore.QSize(100, 25)
|
||||
|
||||
|
||||
def test_finger_tab_bar_widget_with_kwargs():
|
||||
"""
|
||||
Test that the FingerTabBarWidget is initialised correctly from kwargs
|
||||
"""
|
||||
# GIVEN: A FinderTabBarWidget class and some arguments
|
||||
width = 300
|
||||
height = 100
|
||||
|
||||
# WHEN: An instance of the FingerTabBarWidget is created
|
||||
widget = FingerTabBarWidget(width=width, height=height)
|
||||
|
||||
# THEN: It should havea tabSize of 100x25
|
||||
assert widget.tabSize == QtCore.QSize(width, height)
|
@ -24,19 +24,17 @@
|
||||
|
||||
Tests for the Projector Source Select form.
|
||||
"""
|
||||
import logging
|
||||
log = logging.getLogger(__name__)
|
||||
log.debug('test_projectorsourceform loaded')
|
||||
import os
|
||||
import time
|
||||
from unittest import TestCase
|
||||
from unittest.mock import patch
|
||||
|
||||
from PyQt5.QtWidgets import QDialog
|
||||
|
||||
from tests.functional import patch
|
||||
from tests.helpers.testmixin import TestMixin
|
||||
from tests.resources.projector.data import TEST_DB, TEST1_DATA
|
||||
|
||||
from openlp.core.common import Registry, Settings
|
||||
from openlp.core.common import Registry
|
||||
from openlp.core.lib.projector.db import ProjectorDB, Projector
|
||||
from openlp.core.lib.projector.constants import PJLINK_DEFAULT_CODES, PJLINK_DEFAULT_SOURCES
|
||||
from openlp.core.ui.projector.sourceselectform import source_group, SourceSelectSingle
|
||||
@ -49,7 +47,7 @@ def build_source_dict():
|
||||
:returns: dictionary of valid PJLink source codes grouped by PJLink source group
|
||||
"""
|
||||
test_group = {}
|
||||
for group in PJLINK_DEFAULT_SOURCES.keys():
|
||||
for group in PJLINK_DEFAULT_SOURCES:
|
||||
test_group[group] = {}
|
||||
for key in PJLINK_DEFAULT_CODES:
|
||||
test_group[key[0]][key] = PJLINK_DEFAULT_CODES[key]
|
||||
@ -86,8 +84,8 @@ class ProjectorSourceFormTest(TestCase, TestMixin):
|
||||
Delete all C++ objects at end so we don't segfault.
|
||||
"""
|
||||
self.projectordb.session.close()
|
||||
del(self.projectordb)
|
||||
del(self.projector)
|
||||
del self.projectordb
|
||||
del self.projector
|
||||
retries = 0
|
||||
while retries < 5:
|
||||
try:
|
||||
|
0
tests/resources/__init__.py
Normal file
0
tests/resources/__init__.py
Normal file
0
tests/resources/projector/__init__.py
Normal file
0
tests/resources/projector/__init__.py
Normal file
Loading…
Reference in New Issue
Block a user