diff options
Diffstat (limited to 'cherrypy/test/test_config.py')
-rw-r--r-- | cherrypy/test/test_config.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cherrypy/test/test_config.py b/cherrypy/test/test_config.py index f9831b12..491321dd 100644 --- a/cherrypy/test/test_config.py +++ b/cherrypy/test/test_config.py @@ -269,3 +269,31 @@ class VariableSubstitutionTests(unittest.TestCase): self.assertEqual(cherrypy.config["my"]["my.dir"], "/some/dir/my/dir") self.assertEqual(cherrypy.config["my"] ["my.dir2"], "/some/dir/my/dir/dir2") + + +class CallablesInConfigTest(unittest.TestCase): + setup_server = staticmethod(setup_server) + + + def test_call_with_literal_dict(self): + from textwrap import dedent + conf = dedent(""" + [my] + value = dict(**{'foo': 'bar'}) + """) + fp = compat.StringIO(conf) + cherrypy.config.update(fp) + self.assertEqual(cherrypy.config['my']['value'], {'foo': 'bar'}) + + def test_call_with_kwargs(self): + from textwrap import dedent + conf = dedent(""" + [my] + value = dict(test_suite="OVERRIDE", **cherrypy.config.environments) + """) + fp = compat.StringIO(conf) + cherrypy.config.update(fp) + env = cherrypy.config.environments.copy() + env['test_suite'] = 'OVERRIDE' + self.assertEqual(cherrypy.config['my']['value']['test_suite'], 'OVERRIDE') + self.assertEqual(cherrypy.config['my']['value'], env) |