diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-01-27 01:24:35 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-01-27 01:24:35 +0000 |
| commit | 9259571f8bce01374060c198e990b1650b5e257e (patch) | |
| tree | 7ce3eb7138d3d5237c0b287fa1ebc1819ce52d6f /repoze/bfg/tests | |
| parent | 01132b859acb3850eb6d9de6a1d8c2d005165fe3 (diff) | |
| download | pyramid-9259571f8bce01374060c198e990b1650b5e257e.tar.gz pyramid-9259571f8bce01374060c198e990b1650b5e257e.tar.bz2 pyramid-9259571f8bce01374060c198e990b1650b5e257e.zip | |
- There is an indirection in ``repoze.bfg.url.model_url`` now that
consults a utility to generate the base model url (without extra
elements or a query string). Eventually this will service virtual
hosting; for now it's undocumented and should not be hooked.
Diffstat (limited to 'repoze/bfg/tests')
| -rw-r--r-- | repoze/bfg/tests/test_url.py | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/repoze/bfg/tests/test_url.py b/repoze/bfg/tests/test_url.py index 90118bd34..a1aa84890 100644 --- a/repoze/bfg/tests/test_url.py +++ b/repoze/bfg/tests/test_url.py @@ -1,5 +1,51 @@ import unittest +class DefaultURLGeneratorTests(unittest.TestCase): + def _makeOne(self): + return self._getTargetClass()() + + def _getTargetClass(self): + from repoze.bfg.url import DefaultURLGenerator + return DefaultURLGenerator + + def test_class_conforms_to_IURLGenerator(self): + from zope.interface.verify import verifyClass + from repoze.bfg.interfaces import IURLGenerator + verifyClass(IURLGenerator, self._getTargetClass()) + + def test_instance_conforms_to_IURLGenerator(self): + from zope.interface.verify import verifyObject + from repoze.bfg.interfaces import IURLGenerator + context = DummyContext() + verifyObject(IURLGenerator, self._makeOne()) + + def test_model_url_withlineage(self): + baz = DummyContext() + bar = DummyContext(baz) + foo = DummyContext(bar) + root = DummyContext(foo) + root.__parent__ = None + root.__name__ = None + foo.__parent__ = root + foo.__name__ = 'foo ' + bar.__parent__ = foo + bar.__name__ = 'bar' + baz.__parent__ = bar + baz.__name__ = 'baz' + request = DummyRequest() + gen = self._makeOne() + result = gen.model_url(baz, request) + self.assertEqual(result, 'http://example.com:5432/foo%20/bar/baz/') + + def test_model_url_nolineage(self): + context = DummyContext() + context.__name__ = '' + context.__parent__ = None + request = DummyRequest() + gen = self._makeOne() + result = gen.model_url(context, request) + self.assertEqual(result, 'http://example.com:5432/') + class ModelURLTests(unittest.TestCase): def _callFUT(self, model, request, *elements, **kw): from repoze.bfg.url import model_url @@ -20,7 +66,6 @@ class ModelURLTests(unittest.TestCase): baz.__name__ = 'baz' request = DummyRequest() result = self._callFUT(baz, request, 'this/theotherthing', 'that') - self.assertEqual( result, 'http://example.com:5432/foo%20/bar/baz/this/theotherthing/that') |
