diff options
| author | Tres Seaver <tseaver@palladion.com> | 2009-06-19 22:25:59 +0000 |
|---|---|---|
| committer | Tres Seaver <tseaver@palladion.com> | 2009-06-19 22:25:59 +0000 |
| commit | 948cc8a14d334ce696e58530b006e39d4dcfa9b4 (patch) | |
| tree | 3e427172fcce7f03ca3be265098662ee87c58d26 /repoze | |
| parent | 643bd0903f3fa64307f22f5173fefbe0871603fc (diff) | |
| download | pyramid-948cc8a14d334ce696e58530b006e39d4dcfa9b4.tar.gz pyramid-948cc8a14d334ce696e58530b006e39d4dcfa9b4.tar.bz2 pyramid-948cc8a14d334ce696e58530b006e39d4dcfa9b4.zip | |
Move pushpage support out into separate distribution.
Diffstat (limited to 'repoze')
| -rw-r--r-- | repoze/bfg/push.py | 40 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_integration.py | 41 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_push.py | 40 |
3 files changed, 0 insertions, 121 deletions
diff --git a/repoze/bfg/push.py b/repoze/bfg/push.py deleted file mode 100644 index 1e60b7e94..000000000 --- a/repoze/bfg/push.py +++ /dev/null @@ -1,40 +0,0 @@ -import os.path - -from repoze.bfg.chameleon_zpt import render_template_to_response - -try: - from functools import wraps -except ImportError: #pragma NO COVERAGE - # < 2.5 - from repoze.bfg.functional import wraps #pragma NO COVERAGE - -class pushpage(object): - """ - Decorator for a function which returns a response object after - running the namespace the wrapped function returns through a - Chameleon ZPT template. - - E.g.:: - - @pushpage('www/my_template.pt') - def my_view(context, request): - return {'a': 1, 'b': ()} - - Equates to:: - - from repoze.bfg.chameleon_zpt import render_template_to_response - def my_view(context, request): - return render_template_to_response('www/my_template.pt', a=1, b=()) - - """ - def __init__(self, template): - self.template = template - - def __call__(self, wrapped): - prefix = os.path.dirname(wrapped.func_globals['__file__']) - path = os.path.join(prefix, self.template) - - def _curried(context, request): - kw = wrapped(context, request) - return render_template_to_response(path, **kw) - return wraps(wrapped)(_curried) # grokkability diff --git a/repoze/bfg/tests/test_integration.py b/repoze/bfg/tests/test_integration.py index 107c8ae89..941d47841 100644 --- a/repoze/bfg/tests/test_integration.py +++ b/repoze/bfg/tests/test_integration.py @@ -1,7 +1,6 @@ import os import unittest -from repoze.bfg.push import pushpage from repoze.bfg.wsgi import wsgiapp from repoze.bfg.view import bfg_view from repoze.bfg.view import static @@ -53,46 +52,6 @@ class WGSIAppPlusBFGViewTests(unittest.TestCase): ('registerAdapter', wsgiapptest, (INothing, IRequest), IView, '', None)) -@bfg_view(for_=INothing) -@pushpage('fake.pt') -def pushtest(context, request): - """ """ - return {'a':1} - -class PushPagePlusBFGViewTests(unittest.TestCase): - def setUp(self): - cleanUp() - - def tearDown(self): - cleanUp() - - def test_it(self): - import types - import os - from repoze.bfg.testing import registerDummyRenderer - path = os.path.join(os.path.dirname(__file__), 'fake.pt') - renderer = registerDummyRenderer(path) - self.assertEqual(pushtest.__is_bfg_view__, True) - self.failUnless(type(pushtest) is types.FunctionType) - context = DummyContext() - request = DummyRequest() - result = pushtest(context, request) - self.assertEqual(result.status, '200 OK') - - def test_scanned(self): - from repoze.bfg.interfaces import IView - from repoze.bfg.zcml import scan - context = DummyContext() - from repoze.bfg.tests import test_integration - scan(context, test_integration) - actions = context.actions - self.assertEqual(len(actions), 2) - action = actions[0] - IRequest = _getRequestInterface() - self.assertEqual(action['args'], - ('registerAdapter', - pushtest, (INothing, IRequest), IView, '', None)) - here = os.path.dirname(__file__) staticapp = static(os.path.join(here, 'fixtures')) diff --git a/repoze/bfg/tests/test_push.py b/repoze/bfg/tests/test_push.py deleted file mode 100644 index d5d2801aa..000000000 --- a/repoze/bfg/tests/test_push.py +++ /dev/null @@ -1,40 +0,0 @@ -import unittest - -from repoze.bfg.testing import cleanUp - -class Test_pushpage(unittest.TestCase): - def setUp(self): - cleanUp() - - def tearDown(self): - cleanUp() - - def _zcmlConfigure(self): - import repoze.bfg.includes - import zope.configuration.xmlconfig - zope.configuration.xmlconfig.file('configure.zcml', - package=repoze.bfg.includes) - - def _getTargetClass(self): - from repoze.bfg.push import pushpage - return pushpage - - def _makeOne(self, template): - return self._getTargetClass()(template) - - def test_decorated_has_same_name_as_wrapped(self): - pp = self._makeOne('fixtures/pp.pt') - wrapped = pp(to_wrap) - self.assertEqual(wrapped.__name__, 'to_wrap') - self.assertEqual(wrapped.__module__, to_wrap.__module__) - - def test___call___passes_names_from_wrapped(self): - self._zcmlConfigure() - pp = self._makeOne('fixtures/pp.pt') - wrapped = pp(to_wrap) - response = wrapped(object(), object()) - self.assertEqual(response.body, - '<p xmlns="http://www.w3.org/1999/xhtml">WRAPPED</p>') - -def to_wrap(context, request): - return {'wrapped': 'WRAPPED'} |
