summaryrefslogtreecommitdiff
path: root/pyramid/tests/test_url.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyramid/tests/test_url.py')
-rw-r--r--pyramid/tests/test_url.py426
1 files changed, 238 insertions, 188 deletions
diff --git a/pyramid/tests/test_url.py b/pyramid/tests/test_url.py
index cb8326114..652e5a8d2 100644
--- a/pyramid/tests/test_url.py
+++ b/pyramid/tests/test_url.py
@@ -3,16 +3,20 @@ import unittest
from pyramid.testing import setUp
from pyramid.testing import tearDown
-class ResourceURLTests(unittest.TestCase):
+class TestURLMethodsMixin(unittest.TestCase):
def setUp(self):
- setUp()
+ self.config = setUp()
def tearDown(self):
tearDown()
- def _callFUT(self, resource, request, *elements, **kw):
- from pyramid.url import resource_url
- return resource_url(resource, request, *elements, **kw)
+ def _makeOne(self):
+ from pyramid.url import URLMethodsMixin
+ class Request(URLMethodsMixin):
+ application_url = 'http://example.com:5432'
+ request = Request()
+ request.registry = self.config.registry
+ return request
def _registerContextURL(self, reg):
from pyramid.interfaces import IContextURL
@@ -25,247 +29,233 @@ class ResourceURLTests(unittest.TestCase):
reg.registerAdapter(DummyContextURL, (Interface, Interface),
IContextURL)
- def test_root_default(self):
- request = _makeRequest()
+ def test_resource_url_root_default(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
root = DummyContext()
- result = self._callFUT(root, request)
+ result = request.resource_url(root)
self.assertEqual(result, 'http://example.com/context/')
- def test_extra_args(self):
- request = _makeRequest()
+ def test_resource_url_extra_args(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
- result = self._callFUT(context, request, 'this/theotherthing', 'that')
+ result = request.resource_url(context, 'this/theotherthing', 'that')
self.assertEqual(
result,
'http://example.com/context/this%2Ftheotherthing/that')
- def test_unicode_in_element_names(self):
- request = _makeRequest()
+ def test_resource_url_unicode_in_element_names(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
uc = unicode('La Pe\xc3\xb1a', 'utf-8')
context = DummyContext()
- result = self._callFUT(context, request, uc)
+ result = request.resource_url(context, uc)
self.assertEqual(result,
'http://example.com/context/La%20Pe%C3%B1a')
- def test_at_sign_in_element_names(self):
- request = _makeRequest()
+ def test_resource_url_at_sign_in_element_names(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
- result = self._callFUT(context, request, '@@myview')
+ result = request.resource_url(context, '@@myview')
self.assertEqual(result,
'http://example.com/context/@@myview')
- def test_element_names_url_quoted(self):
- request = _makeRequest()
+ def test_resource_url_element_names_url_quoted(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
- result = self._callFUT(context, request, 'a b c')
+ result = request.resource_url(context, 'a b c')
self.assertEqual(result, 'http://example.com/context/a%20b%20c')
- def test_with_query_dict(self):
- request = _makeRequest()
+ def test_resource_url_with_query_dict(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
uc = unicode('La Pe\xc3\xb1a', 'utf-8')
- result = self._callFUT(context, request, 'a', query={'a':uc})
+ result = request.resource_url(context, 'a', query={'a':uc})
self.assertEqual(result,
'http://example.com/context/a?a=La+Pe%C3%B1a')
- def test_with_query_seq(self):
- request = _makeRequest()
+ def test_resource_url_with_query_seq(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
uc = unicode('La Pe\xc3\xb1a', 'utf-8')
- result = self._callFUT(context, request, 'a', query=[('a', 'hi there'),
+ result = request.resource_url(context, 'a', query=[('a', 'hi there'),
('b', uc)])
self.assertEqual(result,
'http://example.com/context/a?a=hi+there&b=La+Pe%C3%B1a')
- def test_anchor_is_after_root_when_no_elements(self):
- request = _makeRequest()
+ def test_resource_url_anchor_is_after_root_when_no_elements(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
- result = self._callFUT(context, request, anchor='a')
+ result = request.resource_url(context, anchor='a')
self.assertEqual(result,
'http://example.com/context/#a')
- def test_anchor_is_after_elements_when_no_qs(self):
- request = _makeRequest()
+ def test_resource_url_anchor_is_after_elements_when_no_qs(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
- result = self._callFUT(context, request, 'a', anchor='b')
+ result = request.resource_url(context, 'a', anchor='b')
self.assertEqual(result,
'http://example.com/context/a#b')
- def test_anchor_is_after_qs_when_qs_is_present(self):
- request = _makeRequest()
+ def test_resource_url_anchor_is_after_qs_when_qs_is_present(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
- result = self._callFUT(context, request, 'a',
- query={'b':'c'}, anchor='d')
+ result = request.resource_url(context, 'a',
+ query={'b':'c'}, anchor='d')
self.assertEqual(result,
'http://example.com/context/a?b=c#d')
- def test_anchor_is_encoded_utf8_if_unicode(self):
- request = _makeRequest()
+ def test_resource_url_anchor_is_encoded_utf8_if_unicode(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
uc = unicode('La Pe\xc3\xb1a', 'utf-8')
- result = self._callFUT(context, request, anchor=uc)
+ result = request.resource_url(context, anchor=uc)
self.assertEqual(result,
'http://example.com/context/#La Pe\xc3\xb1a')
- def test_anchor_is_not_urlencoded(self):
- request = _makeRequest()
+ def test_resource_url_anchor_is_not_urlencoded(self):
+ request = self._makeOne()
self._registerContextURL(request.registry)
context = DummyContext()
- result = self._callFUT(context, request, anchor=' /#')
+ result = request.resource_url(context, anchor=' /#')
self.assertEqual(result,
'http://example.com/context/# /#')
- def test_no_IContextURL_registered(self):
+ def test_resource_url_no_IContextURL_registered(self):
# falls back to TraversalContextURL
root = DummyContext()
root.__name__ = ''
root.__parent__ = None
- request = _makeRequest()
+ request = self._makeOne()
request.environ = {}
- result = self._callFUT(root, request)
+ result = request.resource_url(root)
self.assertEqual(result, 'http://example.com:5432/')
- def test_no_registry_on_request(self):
- from pyramid.threadlocal import get_current_registry
- reg = get_current_registry()
- request = DummyRequest()
- self._registerContextURL(reg)
+ def test_resource_url_no_registry_on_request(self):
+ request = self._makeOne()
+ self._registerContextURL(request.registry)
+ del request.registry
root = DummyContext()
- result = self._callFUT(root, request)
+ result = request.resource_url(root)
self.assertEqual(result, 'http://example.com/context/')
-class TestRouteUrl(unittest.TestCase):
- def setUp(self):
- self.config = setUp()
-
- def tearDown(self):
- tearDown()
-
- def _callFUT(self, *arg, **kw):
- from pyramid.url import route_url
- return route_url(*arg, **kw)
-
- def test_with_elements(self):
+ def test_route_url_with_elements(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, 'extra1', 'extra2')
+ result = request.route_url('flub', 'extra1', 'extra2')
self.assertEqual(result,
'http://example.com:5432/1/2/3/extra1/extra2')
- def test_with_elements_path_endswith_slash(self):
+ def test_route_url_with_elements_path_endswith_slash(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3/'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, 'extra1', 'extra2')
+ result = request.route_url('flub', 'extra1', 'extra2')
self.assertEqual(result,
'http://example.com:5432/1/2/3/extra1/extra2')
- def test_no_elements(self):
+ def test_route_url_no_elements(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, a=1, b=2, c=3, _query={'a':1},
- _anchor=u"foo")
+ result = request.route_url('flub', a=1, b=2, c=3, _query={'a':1},
+ _anchor=u"foo")
self.assertEqual(result,
'http://example.com:5432/1/2/3?a=1#foo')
- def test_with_anchor_string(self):
+ def test_route_url_with_anchor_string(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, _anchor="La Pe\xc3\xb1a")
+ result = request.route_url('flub', _anchor="La Pe\xc3\xb1a")
self.assertEqual(result,
'http://example.com:5432/1/2/3#La Pe\xc3\xb1a')
- def test_with_anchor_unicode(self):
+ def test_route_url_with_anchor_unicode(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
anchor = unicode('La Pe\xc3\xb1a', 'utf-8')
- result = self._callFUT('flub', request, _anchor=anchor)
+ result = request.route_url('flub', _anchor=anchor)
self.assertEqual(result,
'http://example.com:5432/1/2/3#La Pe\xc3\xb1a')
- def test_with_query(self):
+ def test_route_url_with_query(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, _query={'q':'1'})
+ result = request.route_url('flub', _query={'q':'1'})
self.assertEqual(result,
'http://example.com:5432/1/2/3?q=1')
- def test_with_app_url(self):
+ def test_route_url_with_app_url(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, _app_url='http://example2.com')
+ result = request.route_url('flub', _app_url='http://example2.com')
self.assertEqual(result,
'http://example2.com/1/2/3')
- def test_it_generation_error(self):
+ def test_route_url_generation_error(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(raise_exc=KeyError)
request.registry.registerUtility(mapper, IRoutesMapper)
mapper.raise_exc = KeyError
- self.assertRaises(KeyError, self._callFUT, 'flub', request, a=1)
+ self.assertRaises(KeyError, request.route_url, 'flub', request, a=1)
- def test_generate_doesnt_receive_query_or_anchor(self):
+ def test_route_url_generate_doesnt_receive_query_or_anchor(self):
from pyramid.interfaces import IRoutesMapper
+ request = self._makeOne()
route = DummyRoute(result='')
mapper = DummyRoutesMapper(route=route)
- from zope.component import getSiteManager
- sm = getSiteManager()
- sm.registerUtility(mapper, IRoutesMapper)
- request = DummyRequest()
- result = self._callFUT('flub', request, _query=dict(name='some_name'))
+ request.registry.registerUtility(mapper, IRoutesMapper)
+ result = request.route_url('flub', _query=dict(name='some_name'))
self.assertEqual(route.kw, {}) # shouldnt have anchor/query
self.assertEqual(result, 'http://example.com:5432?name=some_name')
- def test_with_pregenerator(self):
+ def test_route_url_with_pregenerator(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
route = DummyRoute(result='/1/2/3')
def pregenerator(request, elements, kw):
return ('a',), {'_app_url':'http://example2.com'}
route.pregenerator = pregenerator
mapper = DummyRoutesMapper(route=route)
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request)
+ result = request.route_url('flub')
self.assertEqual(result, 'http://example2.com/1/2/3/a')
self.assertEqual(route.kw, {}) # shouldnt have anchor/query
- def test_with_anchor_app_url_elements_and_query(self):
+ def test_route_url_with_anchor_app_url_elements_and_query(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(route=DummyRoute(result='/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, 'element1',
- _app_url='http://example2.com',
- _anchor='anchor', _query={'q':'1'})
+ result = request.route_url('flub', 'element1',
+ _app_url='http://example2.com',
+ _anchor='anchor', _query={'q':'1'})
self.assertEqual(result,
'http://example2.com/1/2/3/element1?q=1#anchor')
- def test_integration_with_real_request(self):
+ def test_route_url_integration_with_real_request(self):
# to try to replicate https://github.com/Pylons/pyramid/issues/213
from pyramid.interfaces import IRoutesMapper
from pyramid.request import Request
@@ -273,147 +263,213 @@ class TestRouteUrl(unittest.TestCase):
request.registry = self.config.registry
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, 'extra1', 'extra2')
+ result = request.route_url('flub', 'extra1', 'extra2')
self.assertEqual(result,
'http://localhost/1/2/3/extra1/extra2')
-class TestCurrentRouteUrl(unittest.TestCase):
- def setUp(self):
- setUp()
-
- def tearDown(self):
- tearDown()
-
- def _callFUT(self, *arg, **kw):
- from pyramid.url import current_route_url
- return current_route_url(*arg, **kw)
-
- def test_current_request_has_no_route(self):
- request = _makeRequest()
- self.assertRaises(ValueError, self._callFUT, request)
+ def test_current_route_url_current_request_has_no_route(self):
+ request = self._makeOne()
+ self.assertRaises(ValueError, request.current_route_url)
- def test_with_elements_query_and_anchor(self):
+ def test_current_route_url_with_elements_query_and_anchor(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
route = DummyRoute('/1/2/3')
mapper = DummyRoutesMapper(route=route)
request.matched_route = route
request.matchdict = {}
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT(request, 'extra1', 'extra2', _query={'a':1},
- _anchor=u"foo")
+ result = request.current_route_url('extra1', 'extra2', _query={'a':1},
+ _anchor=u"foo")
self.assertEqual(result,
'http://example.com:5432/1/2/3/extra1/extra2?a=1#foo')
- def test_with__route_name(self):
+ def test_current_route_url_with_route_name(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
route = DummyRoute('/1/2/3')
mapper = DummyRoutesMapper(route=route)
request.matched_route = route
request.matchdict = {}
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT(request, 'extra1', 'extra2', _query={'a':1},
- _anchor=u"foo", _route_name='bar')
+ result = request.current_route_url('extra1', 'extra2', _query={'a':1},
+ _anchor=u"foo", _route_name='bar')
self.assertEqual(result,
'http://example.com:5432/1/2/3/extra1/extra2?a=1#foo')
-class TestRoutePath(unittest.TestCase):
- def setUp(self):
- setUp()
-
- def tearDown(self):
- tearDown()
-
- def _callFUT(self, *arg, **kw):
- from pyramid.url import route_path
- return route_path(*arg, **kw)
-
- def test_with_elements(self):
+ def test_route_path_with_elements(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, 'extra1', 'extra2',
- a=1, b=2, c=3, _query={'a':1},
- _anchor=u"foo")
+ request.script_name = ''
+ result = request.route_path('flub', 'extra1', 'extra2',
+ a=1, b=2, c=3, _query={'a':1},
+ _anchor=u"foo")
self.assertEqual(result, '/1/2/3/extra1/extra2?a=1#foo')
- def test_with_script_name(self):
+ def test_route_path_with_script_name(self):
from pyramid.interfaces import IRoutesMapper
- request = _makeRequest()
+ request = self._makeOne()
request.script_name = '/foo'
mapper = DummyRoutesMapper(route=DummyRoute('/1/2/3'))
request.registry.registerUtility(mapper, IRoutesMapper)
- result = self._callFUT('flub', request, 'extra1', 'extra2',
- a=1, b=2, c=3, _query={'a':1},
- _anchor=u"foo")
+ result = request.route_path('flub', 'extra1', 'extra2',
+ a=1, b=2, c=3, _query={'a':1},
+ _anchor=u"foo")
self.assertEqual(result, '/foo/1/2/3/extra1/extra2?a=1#foo')
-class TestStaticUrl(unittest.TestCase):
- def setUp(self):
- setUp()
-
- def tearDown(self):
- tearDown()
-
- def _callFUT(self, *arg, **kw):
- from pyramid.url import static_url
- return static_url(*arg, **kw)
-
- def test_staticurlinfo_notfound(self):
- request = _makeRequest()
- self.assertRaises(ValueError, self._callFUT, 'static/foo.css', request)
+ def test_static_url_staticurlinfo_notfound(self):
+ request = self._makeOne()
+ self.assertRaises(ValueError, request.static_url, 'static/foo.css')
- def test_abspath(self):
- request = _makeRequest()
- self.assertRaises(ValueError, self._callFUT, '/static/foo.css', request)
+ def test_static_url_abspath(self):
+ request = self._makeOne()
+ self.assertRaises(ValueError, request.static_url, '/static/foo.css')
- def test_found_rel(self):
+ def test_static_url_found_rel(self):
from pyramid.interfaces import IStaticURLInfo
- request = _makeRequest()
+ request = self._makeOne()
info = DummyStaticURLInfo('abc')
request.registry.registerUtility(info, IStaticURLInfo)
- result = self._callFUT('static/foo.css', request)
+ result = request.static_url('static/foo.css')
self.assertEqual(result, 'abc')
self.assertEqual(info.args,
('pyramid.tests:static/foo.css', request, {}) )
- def test_found_abs(self):
+ def test_static_url_abs(self):
from pyramid.interfaces import IStaticURLInfo
- request = _makeRequest()
+ request = self._makeOne()
info = DummyStaticURLInfo('abc')
request.registry.registerUtility(info, IStaticURLInfo)
- result = self._callFUT('pyramid.tests:static/foo.css', request)
+ result = request.static_url('pyramid.tests:static/foo.css')
self.assertEqual(result, 'abc')
self.assertEqual(info.args,
('pyramid.tests:static/foo.css', request, {}) )
- def test_found_abs_no_registry_on_request(self):
- from pyramid.threadlocal import get_current_registry
+ def test_static_url_found_abs_no_registry_on_request(self):
from pyramid.interfaces import IStaticURLInfo
- request = DummyRequest()
- registry = get_current_registry()
+ request = self._makeOne()
+ registry = request.registry
info = DummyStaticURLInfo('abc')
registry.registerUtility(info, IStaticURLInfo)
- result = self._callFUT('pyramid.tests:static/foo.css', request)
+ del request.registry
+ result = request.static_url('pyramid.tests:static/foo.css')
self.assertEqual(result, 'abc')
self.assertEqual(info.args,
('pyramid.tests:static/foo.css', request, {}) )
+class Test_route_url(unittest.TestCase):
+ def _callFUT(self, route_name, request, *elements, **kw):
+ from pyramid.url import route_url
+ return route_url(route_name, request, *elements, **kw)
+
+ def _makeRequest(self):
+ class Request(object):
+ def route_url(self, route_name, *elements, **kw):
+ self.route_name = route_name
+ self.elements = elements
+ self.kw = kw
+ return 'route url'
+ return Request()
+
+ def test_it(self):
+ request = self._makeRequest()
+ result = self._callFUT('abc', request, 'a', _app_url='')
+ self.assertEqual(result, 'route url')
+ self.assertEqual(request.route_name, 'abc')
+ self.assertEqual(request.elements, ('a',))
+ self.assertEqual(request.kw, {'_app_url':''})
+
+class Test_route_path(unittest.TestCase):
+ def _callFUT(self, route_name, request, *elements, **kw):
+ from pyramid.url import route_path
+ return route_path(route_name, request, *elements, **kw)
+
+ def _makeRequest(self):
+ class Request(object):
+ def route_path(self, route_name, *elements, **kw):
+ self.route_name = route_name
+ self.elements = elements
+ self.kw = kw
+ return 'route path'
+ return Request()
+
+ def test_it(self):
+ request = self._makeRequest()
+ result = self._callFUT('abc', request, 'a', _app_url='')
+ self.assertEqual(result, 'route path')
+ self.assertEqual(request.route_name, 'abc')
+ self.assertEqual(request.elements, ('a',))
+ self.assertEqual(request.kw, {'_app_url':''})
+
+class Test_resource_url(unittest.TestCase):
+ def _callFUT(self, resource, request, *elements, **kw):
+ from pyramid.url import resource_url
+ return resource_url(resource, request, *elements, **kw)
+
+ def _makeRequest(self):
+ class Request(object):
+ def resource_url(self, resource, *elements, **kw):
+ self.resource = resource
+ self.elements = elements
+ self.kw = kw
+ return 'resource url'
+ return Request()
+
+ def test_it(self):
+ request = self._makeRequest()
+ result = self._callFUT('abc', request, 'a', _app_url='')
+ self.assertEqual(result, 'resource url')
+ self.assertEqual(request.resource, 'abc')
+ self.assertEqual(request.elements, ('a',))
+ self.assertEqual(request.kw, {'_app_url':''})
+
+class Test_static_url(unittest.TestCase):
+ def _callFUT(self, path, request, **kw):
+ from pyramid.url import static_url
+ return static_url(path, request, **kw)
+
+ def _makeRequest(self):
+ class Request(object):
+ def static_url(self, path, **kw):
+ self.path = path
+ self.kw = kw
+ return 'static url'
+ return Request()
+
+ def test_it(self):
+ request = self._makeRequest()
+ result = self._callFUT('abc', request, _app_url='')
+ self.assertEqual(result, 'static url')
+ self.assertEqual(request.path, 'abc')
+ self.assertEqual(request.kw, {'_app_url':''})
+
+class Test_current_route_url(unittest.TestCase):
+ def _callFUT(self, request, *elements, **kw):
+ from pyramid.url import current_route_url
+ return current_route_url(request, *elements, **kw)
+
+ def _makeRequest(self):
+ class Request(object):
+ def current_route_url(self, *elements, **kw):
+ self.elements = elements
+ self.kw = kw
+ return 'current route url'
+ return Request()
+
+ def test_it(self):
+ request = self._makeRequest()
+ result = self._callFUT(request, 'abc', _app_url='')
+ self.assertEqual(result, 'current route url')
+ self.assertEqual(request.elements, ('abc',))
+ self.assertEqual(request.kw, {'_app_url':''})
+
class DummyContext(object):
def __init__(self, next=None):
self.next = next
-class DummyRequest:
- application_url = 'http://example.com:5432' # app_url never ends with slash
- script_name = ''
- def __init__(self, environ=None):
- if environ is None:
- environ = {}
- self.environ = environ
-
class DummyRoutesMapper:
raise_exc = None
def __init__(self, route=None, raise_exc=False):
@@ -432,12 +488,6 @@ class DummyRoute:
self.kw = kw
return self.result
-def _makeRequest(environ=None):
- from pyramid.registry import Registry
- request = DummyRequest(environ)
- request.registry = Registry()
- return request
-
class DummyStaticURLInfo:
def __init__(self, result):
self.result = result