forked from github/pelican
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
from unittest2 import TestCase
|
|
import os
|
|
|
|
from pelican.settings import read_settings, _DEFAULT_CONFIG
|
|
|
|
SETTINGS = os.sep.join([os.path.dirname(os.path.abspath(__file__)),
|
|
"../../samples/pelican.conf.py"])
|
|
|
|
class SettingsTest(TestCase):
|
|
|
|
|
|
def test_read_settings(self):
|
|
# providing a file, it should read it, replace the default values and append
|
|
# new values to the settings, if any
|
|
settings = read_settings(SETTINGS)
|
|
|
|
# overwrite existing settings
|
|
self.assertEqual(settings.get('SITENAME'), u"Alexis' log")
|
|
|
|
# add new settings
|
|
self.assertEqual(settings.get('SITEURL'), 'http://blog.notmyidea.org')
|
|
|
|
# keep default settings if not defined
|
|
self.assertEqual(settings.get('DEFAULT_CATEGORY'),
|
|
_DEFAULT_CONFIG['DEFAULT_CATEGORY'])
|
|
|
|
# do not copy keys not in caps
|
|
self.assertNotIn('foobar', settings)
|
|
|
|
|
|
def test_empty_read_settings(self):
|
|
# providing no file should return the default values
|
|
settings = read_settings(None)
|
|
self.assertDictEqual(settings, _DEFAULT_CONFIG)
|