def test_it(self): """click item2 => bubbling: node, area, document""" from pyramid_bubbling import Bubbling, Accessor bubbling = Bubbling(access=Accessor("__parent__")) result = [] bubbling.fire(self.item2, "click", result) compare(result, [("node", "item2"), ("area", "top"), ("document", "doc")])
def test_stop(self): """click item2_ => bubbling: node, area[stop]""" from pyramid_bubbling import Bubbling, Accessor from pyramid_bubbling import Stop class StopArea(Area): def on_click(self, *args, **kwargs): super(StopArea, self).on_click(*args, **kwargs) return Stop top = StopArea("stop_top", self.doc) item2 = Node("stop_item2", top) bubbling = Bubbling(access=Accessor("__parent__")) result = [] bubbling.fire(item2, "click", result) compare(result, [("node", "stop_item2"), ("area", "stop_top")])