def METHOD_NAME():
    """
    We are testing that an event blocker does not keep hard reference to
    the object we are blocking, especially if it's a bound method.
    The reason it used to keep references is to get the count of how many time
    a callback was blocked, but if the object does not exists, then the bound method
    does not and thus there is no way to ask for it's count.
    so we can keep only weak refs.
    """
    e = EventEmitter(type_name='test_weak')
    class Obj:
        def cb(self):
            pass
    o = Obj()
    ref_o = weakref.ref(o)
    e.connect(o.cb)
    #
    with e.blocker(o.cb):
        e()
    del o
    assert ref_o() is None