summaryrefslogtreecommitdiff
path: root/tests/pkgs/eventonly/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pkgs/eventonly/__init__.py')
-rw-r--r--tests/pkgs/eventonly/__init__.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/pkgs/eventonly/__init__.py b/tests/pkgs/eventonly/__init__.py
new file mode 100644
index 000000000..452ae35a7
--- /dev/null
+++ b/tests/pkgs/eventonly/__init__.py
@@ -0,0 +1,64 @@
+from pyramid.view import view_config
+from pyramid.events import subscriber
+
+class Yup(object):
+ def __init__(self, val, config):
+ self.val = val
+
+ def text(self):
+ return 'path_startswith = %s' % (self.val,)
+
+ phash = text
+
+ def __call__(self, event):
+ return getattr(event.response, 'yup', False)
+
+class Foo(object):
+ def __init__(self, response):
+ self.response = response
+
+class Bar(object):
+ pass
+
+@subscriber(Foo)
+def foo(event):
+ event.response.text += 'foo '
+
+@subscriber(Foo, yup=True)
+def fooyup(event):
+ event.response.text += 'fooyup '
+
+@subscriber([Foo, Bar])
+def foobar(event):
+ event.response.text += 'foobar '
+
+@subscriber([Foo, Bar])
+def foobar2(event, context):
+ event.response.text += 'foobar2 '
+
+@subscriber([Foo, Bar], yup=True)
+def foobaryup(event):
+ event.response.text += 'foobaryup '
+
+@subscriber([Foo, Bar], yup=True)
+def foobaryup2(event, context):
+ event.response.text += 'foobaryup2 '
+
+@view_config(name='sendfoo')
+def sendfoo(request):
+ response = request.response
+ response.yup = True
+ request.registry.notify(Foo(response))
+ return response
+
+@view_config(name='sendfoobar')
+def sendfoobar(request):
+ response = request.response
+ response.yup = True
+ request.registry.notify(Foo(response), Bar())
+ return response
+
+def includeme(config):
+ config.add_subscriber_predicate('yup', Yup)
+ config.scan('tests.pkgs.eventonly')
+