summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy HUBSCHER <rhubscher@mozilla.com>2017-02-16 17:49:58 +0100
committerRémy HUBSCHER <rhubscher@mozilla.com>2017-02-17 09:56:23 +0100
commit0edf02b0452fe461570aec9fac34613e38deaad6 (patch)
tree94066498fc380f0a39a76c535218f496cc754d61
parent107390374a40d5fff686ebb084d1d9da5fc07eb3 (diff)
downloadpyramid-0edf02b0452fe461570aec9fac34613e38deaad6.tar.gz
pyramid-0edf02b0452fe461570aec9fac34613e38deaad6.tar.bz2
pyramid-0edf02b0452fe461570aec9fac34613e38deaad6.zip
Settings should not alter the initial dict.
-rw-r--r--pyramid/config/settings.py1
-rw-r--r--pyramid/tests/test_config/test_settings.py6
2 files changed, 4 insertions, 3 deletions
diff --git a/pyramid/config/settings.py b/pyramid/config/settings.py
index 26eb48951..52b30db81 100644
--- a/pyramid/config/settings.py
+++ b/pyramid/config/settings.py
@@ -56,6 +56,7 @@ def Settings(d=None, _environ_=os.environ, **kw):
keyword args)."""
if d is None:
d = {}
+ d = dict(d)
d.update(**kw)
eget = _environ_.get
diff --git a/pyramid/tests/test_config/test_settings.py b/pyramid/tests/test_config/test_settings.py
index d6fb8de67..202629358 100644
--- a/pyramid/tests/test_config/test_settings.py
+++ b/pyramid/tests/test_config/test_settings.py
@@ -12,12 +12,12 @@ class TestSettingsConfiguratorMixin(unittest.TestCase):
settings = config._set_settings(None)
self.assertTrue(settings)
- def test__set_settings_uses_original_dict(self):
+ def test__set_settings_does_not_uses_original_dict(self):
config = self._makeOne()
dummy = {}
result = config._set_settings(dummy)
- self.assertTrue(dummy is result)
- self.assertEqual(dummy['pyramid.debug_all'], False)
+ self.assertTrue(dummy is not result)
+ self.assertNotIn('pyramid.debug_all', dummy)
def test__set_settings_as_dictwithvalues(self):
config = self._makeOne()