def test_pass_request_only(self): """ addslash passes on just the request if that's all that's needed """ @addslash def myview(request): return request context = object() request = DummyRequest() request.path_url = '/' ret = myview(context, request) self.assertEqual(ret, request)
def test_pass_context(self): """ addslash passes on the context variable if needed """ @addslash def myview(context, request): return context, request context = object() request = DummyRequest() request.path_url = '/' ret = myview(context, request) self.assertEqual(ret, (context, request))
def test_addslash_redirect(self): """ addslash causes redirect if path_url doesn't end in / """ @addslash def myview(request): # pragma: no cover return 'foobar' context = object() request = DummyRequest() request.path_url = '/noslash' ret = myview(context, request) self.assertTrue(isinstance(ret, HTTPFound)) self.assertEqual(ret.location, request.path_url + '/')
def test_addslash_redirect_query(self): """ addslash keeps the query string """ @addslash def myview(request): # pragma: no cover return 'foobar' context = object() request = DummyRequest() request.query_string = 'foo=1&bar=2' request.path_url = '/noslash' ret = myview(context, request) self.assertTrue(isinstance(ret, HTTPFound)) self.assertEqual(ret.location, request.path_url + '/?' + request.query_string)