diff options
| author | Wayne Witzel III <wwitzel3@gmail.com> | 2012-08-03 12:07:10 -0700 |
|---|---|---|
| committer | Wayne Witzel III <wwitzel3@gmail.com> | 2012-08-03 12:07:10 -0700 |
| commit | 0d8ff5b39aefaf2a9b3fdd79894d855e59ed9a2e (patch) | |
| tree | 88dc7997fea2f19a30ddcd4bf8c5d2bd6131edf0 | |
| parent | 92b456610438bdd94b7906683f8b2049fe5765bd (diff) | |
| download | pyramid-0d8ff5b39aefaf2a9b3fdd79894d855e59ed9a2e.tar.gz pyramid-0d8ff5b39aefaf2a9b3fdd79894d855e59ed9a2e.tar.bz2 pyramid-0d8ff5b39aefaf2a9b3fdd79894d855e59ed9a2e.zip | |
Tests for fixing issue #621
| -rw-r--r-- | pyramid/tests/test_config/__init__.py | 8 | ||||
| -rw-r--r-- | pyramid/tests/test_config/test_init.py | 26 | ||||
| -rw-r--r-- | pyramid/tests/test_config/test_init.py:TestConfigurator_add_directive | 0 |
3 files changed, 34 insertions, 0 deletions
diff --git a/pyramid/tests/test_config/__init__.py b/pyramid/tests/test_config/__init__.py index 5b40a8c09..81d9f4965 100644 --- a/pyramid/tests/test_config/__init__.py +++ b/pyramid/tests/test_config/__init__.py @@ -43,3 +43,11 @@ def dummy_extend(config, discrim): def dummy_extend2(config, discrim): config.action(discrim, None, config.registry) +from functools import partial +dummy_partial = partial(dummy_extend, discrim='partial') + +class DummyCallable(object): + def __call__(self, config, discrim): + config.action(discrim, None, config.package) +dummy_callable = DummyCallable() + diff --git a/pyramid/tests/test_config/test_init.py b/pyramid/tests/test_config/test_init.py index 37c3de275..7a483355c 100644 --- a/pyramid/tests/test_config/test_init.py +++ b/pyramid/tests/test_config/test_init.py @@ -1414,6 +1414,32 @@ class TestConfigurator_add_directive(unittest.TestCase): self.assertEqual(action['callable'], None) self.assertEqual(action['args'], test_config) + def test_add_directive_with_partial(self): + from pyramid.tests import test_config + config = self.config + config.add_directive( + 'dummy_partial', 'pyramid.tests.test_config.dummy_partial') + self.assertTrue(hasattr(config, 'dummy_partial')) + config.dummy_partial() + after = config.action_state + action = after.actions[-1] + self.assertEqual(action['discriminator'], 'partial') + self.assertEqual(action['callable'], None) + self.assertEqual(action['args'], test_config) + + def test_add_directive_with_custom_callable(self): + from pyramid.tests import test_config + config = self.config + config.add_directive( + 'dummy_callable', 'pyramid.tests.test_config.dummy_callable') + self.assertTrue(hasattr(config, 'dummy_callable')) + config.dummy_callable('discrim') + after = config.action_state + action = after.actions[-1] + self.assertEqual(action['discriminator'], 'discrim') + self.assertEqual(action['callable'], None) + self.assertEqual(action['args'], test_config) + def test_extend_with_python_callable(self): from pyramid.tests import test_config config = self.config diff --git a/pyramid/tests/test_config/test_init.py:TestConfigurator_add_directive b/pyramid/tests/test_config/test_init.py:TestConfigurator_add_directive new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/pyramid/tests/test_config/test_init.py:TestConfigurator_add_directive |
