]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- repair bool() for instance level event listener where events are classlevel, contin...
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 20 Sep 2012 16:05:16 +0000 (12:05 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 20 Sep 2012 16:05:16 +0000 (12:05 -0400)
for some reason the impl was different here than that of 0.8

lib/sqlalchemy/event.py
test/base/test_events.py

index 775cd9dc86f82c00b0a940017900150075dc8640..f5ca90db55c0aa858a84e2ea5a8ec58933691c07 100644 (file)
@@ -328,7 +328,7 @@ class _EmptyListener(object):
         return (self.parent_listeners)[index]
 
     def __nonzero__(self):
-        return bool(self.listeners)
+        return bool(self.parent_listeners)
 
 
 class _ListenerCollection(object):
index 57c06c328fa6976e4c0b747c8ebbff7c958bc29c..9d1fa21009fab284b391d4faabf55412477be46c 100644 (file)
@@ -50,6 +50,13 @@ class TestEvents(fixtures.TestBase):
         eq_(len(self.Target().dispatch.event_two), 0)
         eq_(len(t1.dispatch.event_two), 0)
 
+    def test_bool_clslevel(self):
+        def listen_one(x, y):
+            pass
+        event.listen(self.Target, "event_one", listen_one)
+        t = self.Target()
+        assert t.dispatch.event_one
+
     def test_register_class_instance(self):
         def listen_one(x, y):
             pass