diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-06 17:34:54 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-11-06 17:34:54 -0400 |
| commit | 1f2423d23cc3e8bf8db60b56436752fbd3d83f9d (patch) | |
| tree | 85f5ea39fffcd489ae39006092e3dd3c924e2e6b /test/base | |
| parent | 1de6d22ace3a2d5a8ff23b2417f502cf2f4326fc (diff) | |
| download | sqlalchemy-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.py | 47 |
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 |
