summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy HUBSCHER <rhubscher@mozilla.com>2017-02-16 17:16:35 +0100
committerRémy HUBSCHER <rhubscher@mozilla.com>2017-02-17 09:56:20 +0100
commit107390374a40d5fff686ebb084d1d9da5fc07eb3 (patch)
tree6f52a79dfad6d293b4c61cc938bdd102f9500f38
parent40d71e805bfcf8522c6af71995c05c496f1c4b4f (diff)
downloadpyramid-107390374a40d5fff686ebb084d1d9da5fc07eb3.tar.gz
pyramid-107390374a40d5fff686ebb084d1d9da5fc07eb3.tar.bz2
pyramid-107390374a40d5fff686ebb084d1d9da5fc07eb3.zip
Add a failing test.
-rw-r--r--pyramid/tests/test_config/test_settings.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/pyramid/tests/test_config/test_settings.py b/pyramid/tests/test_config/test_settings.py
index 2dbe9b1bb..d6fb8de67 100644
--- a/pyramid/tests/test_config/test_settings.py
+++ b/pyramid/tests/test_config/test_settings.py
@@ -1,5 +1,6 @@
import unittest
+
class TestSettingsConfiguratorMixin(unittest.TestCase):
def _makeOne(self, *arg, **kw):
from pyramid.config import Configurator
@@ -63,6 +64,24 @@ class TestSettingsConfiguratorMixin(unittest.TestCase):
settings = reg.getUtility(ISettings)
self.assertEqual(settings['a'], 1)
+ def test_settings_parameter_dict_is_never_updated(self):
+ class ReadOnlyDict(dict):
+ def __readonly__(self, *args, **kwargs):
+ raise RuntimeError("Cannot modify ReadOnlyDict")
+ __setitem__ = __readonly__
+ __delitem__ = __readonly__
+ pop = __readonly__
+ popitem = __readonly__
+ clear = __readonly__
+ update = __readonly__
+ setdefault = __readonly__
+ del __readonly__
+
+ initial = ReadOnlyDict()
+ config = self._makeOne(settings=initial)
+ config._set_settings({'a': '1'})
+
+
class TestSettings(unittest.TestCase):
def _getTargetClass(self):