openlp/tests/functional/openlp_core_lib/test_settings.py

97 lines
3.1 KiB
Python
Raw Normal View History

2013-02-11 18:08:32 +00:00
"""
Package to test the openlp.core.lib package.
"""
import os
from unittest import TestCase
from mock import MagicMock
from openlp.core.lib import Settings
2013-02-11 19:20:08 +00:00
from PyQt4 import QtGui, QtTest
2013-02-11 18:08:32 +00:00
TESTPATH = os.path.abspath(os.path.join(os.path.dirname(__file__), u'..', u'..', u'resources'))
class TestSettings(TestCase):
2013-02-11 19:20:08 +00:00
def setUp(self):
"""
Create the UI
"""
self.application = QtGui.QApplication([])
self.application.setOrganizationName(u'OpenLP-tests')
self.application.setOrganizationDomain(u'openlp.org')
Settings()
def tearDown(self):
"""
Delete all the C++ objects at the end so that we don't have a segfault
"""
del self.application
2013-02-11 19:54:18 +00:00
try:
os.remove(Settings().fileName())
except:
pass
2013-02-11 19:20:08 +00:00
2013-02-11 18:08:32 +00:00
def settings_basic_test(self):
"""
2013-02-11 19:20:08 +00:00
Test the Settings creation and its default usage
2013-02-11 18:08:32 +00:00
"""
2013-02-11 19:20:08 +00:00
# GIVEN: A new Settings setup
# WHEN reading a setting for the first time
default_value = Settings().value(u'general/has run wizard')
# THEN the default value is returned
assert default_value is False, u'The default value defined is returned'
# WHEN a new value is saved into config
Settings().setValue(u'general/has run wizard', True)
# THEN the new value is returned when re-read
assert Settings().value(u'general/has run wizard') is True, u'The saved value is returned'
2013-02-11 19:48:38 +00:00
def settings_override_test(self):
"""
Test the Settings creation and its override usage
"""
# GIVEN: an override for the settings
screen_settings = {
u'test/extend': u'very wide',
}
Settings().extend_default_settings(screen_settings)
# WHEN reading a setting for the first time
extend = Settings().value(u'test/extend')
# THEN the default value is returned
assert extend == u'very wide', u'The default value defined is returned'
# WHEN a new value is saved into config
Settings().setValue(u'test/extend', u'very short')
# THEN the new value is returned when re-read
assert Settings().value(u'test/extend') == u'very short', u'The saved value is returned'
def settings_override_with_group_test(self):
"""
Test the Settings creation and its override usage - with groups
"""
# GIVEN: an override for the settings
screen_settings = {
u'test/extend': u'very wide',
}
Settings.extend_default_settings(screen_settings)
# WHEN reading a setting for the first time
settings = Settings()
settings.beginGroup(u'test')
extend = settings.value(u'extend')
# THEN the default value is returned
assert extend == u'very wide', u'The default value defined is returned'
# WHEN a new value is saved into config
Settings().setValue(u'test/extend', u'very short')
# THEN the new value is returned when re-read
assert Settings().value(u'test/extend') == u'very short', u'The saved value is returned'