mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
Merge pull request #490 from tbunnyman/fixDEFAULT_CONFIGoverwrite
Deep copy _DEFAULT_SETTINGS instead of linking.
This commit is contained in:
commit
88555de28c
4 changed files with 31 additions and 9 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import copy
|
||||
from os.path import dirname, abspath, join
|
||||
|
||||
from pelican.settings import read_settings, configure_settings, _DEFAULT_CONFIG
|
||||
from pelican.settings import read_settings, configure_settings, _DEFAULT_CONFIG, DEFAULT_THEME
|
||||
from .support import unittest
|
||||
|
||||
|
||||
|
|
@ -31,7 +32,26 @@ class TestSettingsConfiguration(unittest.TestCase):
|
|||
def test_read_empty_settings(self):
|
||||
"""providing no file should return the default values."""
|
||||
settings = read_settings(None)
|
||||
self.assertDictEqual(settings, _DEFAULT_CONFIG)
|
||||
expected = copy.deepcopy(_DEFAULT_CONFIG)
|
||||
expected["FEED_DOMAIN"] = '' #This is added by configure settings
|
||||
self.maxDiff = None
|
||||
self.assertDictEqual(settings, expected)
|
||||
|
||||
def test_settings_return_independent(self):
|
||||
"""Make sure that the results from one settings call doesn't
|
||||
effect past or future instances."""
|
||||
self.PATH = abspath(dirname(__file__))
|
||||
default_conf = join(self.PATH, 'default_conf.py')
|
||||
settings = read_settings(default_conf)
|
||||
settings['SITEURL'] = 'new-value'
|
||||
new_settings = read_settings(default_conf)
|
||||
self.assertNotEqual(new_settings['SITEURL'], settings['SITEURL'])
|
||||
|
||||
def test_defaults_not_overwritten(self):
|
||||
"""This assumes 'SITENAME': 'A Pelican Blog'"""
|
||||
settings = read_settings(None)
|
||||
settings['SITENAME'] = 'Not a Pelican Blog'
|
||||
self.assertNotEqual(settings['SITENAME'], _DEFAULT_CONFIG['SITENAME'])
|
||||
|
||||
def test_configure_settings(self):
|
||||
"""Manipulations to settings should be applied correctly."""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue