summaryrefslogtreecommitdiff
path: root/test/base
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-11-06 17:34:54 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-11-06 17:34:54 -0400
commit1f2423d23cc3e8bf8db60b56436752fbd3d83f9d (patch)
tree85f5ea39fffcd489ae39006092e3dd3c924e2e6b /test/base
parent1de6d22ace3a2d5a8ff23b2417f502cf2f4326fc (diff)
downloadsqlalchemy-1f2423d23cc3e8bf8db60b56436752fbd3d83f9d.tar.gz
- attempting system of propagation. getting stuck on attempting to use instance methods as listeners.
Diffstat (limited to 'test/base')
-rw-r--r--test/base/test_events.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/base/test_events.py b/test/base/test_events.py
index 9099619e5..995569c60 100644
--- a/test/base/test_events.py
+++ b/test/base/test_events.py
@@ -227,5 +227,52 @@ class TestListenOverride(TestBase):
]
)
+class TestPropagate(TestBase):
+ def setUp(self):
+ global Target
+
+ class TargetEvents(event.Events):
+ def on_event_one(self, arg):
+ pass
+
+ def on_event_two(self, arg):
+ pass
+
+ class Target(object):
+ dispatch = event.dispatcher(TargetEvents)
+
+
+ def test_propagate(self):
+ result = []
+ def listen_one(target, arg):
+ result.append((target, arg))
+
+ def listen_two(target, arg):
+ result.append((target, arg))
+
+ t1 = Target()
+ event.listen(listen_one, "on_event_one", t1, propagate=True)
+ event.listen(listen_two, "on_event_two", t1)
+
+ t2 = Target()
+
+ t2.dispatch.update(t1.dispatch)
+
+ t2.dispatch.on_event_one(t2, 1)
+ t2.dispatch.on_event_two(t2, 2)
+ eq_(result, [(t2, 1)])
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file