コード例 #1
0
    def test_emitter_loop(self):
        """Catch emitter loops"""
        em1 = EventEmitter(type='test_event1')
        em2 = EventEmitter(type='test_event2')
        em1.ignore_callback_errors = False
        em2.ignore_callback_errors = False

        # cross-connect emitters; when we emit, an exception should be raised
        # indicating an event loop.
        em1.connect(em2)
        em2.connect(em1)
        try:
            em1()
        except RuntimeError as err:
            if str(err) != 'EventEmitter loop detected!':
                raise err
コード例 #2
0
ファイル: test_event_emitter.py プロジェクト: piakos314/vispy
    def test_emitter_loop(self):
        """Catch emitter loops"""
        em1 = EventEmitter(type='test_event1')
        em2 = EventEmitter(type='test_event2')
        em1.ignore_callback_errors = False
        em2.ignore_callback_errors = False

        # cross-connect emitters; when we emit, an exception should be raised
        # indicating an event loop.
        em1.connect(em2)
        em2.connect(em1)
        try:
            em1()
        except RuntimeError as err:
            if str(err) != 'EventEmitter loop detected!':
                raise err
コード例 #3
0
 def test_emitter_error_handling(self):
     """Emitter error handling"""
     em = EventEmitter(type='test_event')
     em.print_callback_errors = False
     def cb(ev):
         raise Exception('test')
     
     # first callback fails; second callback still runs.
     em.connect(self.record_event)
     em.connect(cb)
     self.result = None
     ev = em()
     self.assert_result(event=ev)
     
     # this time we should get an exception
     self.result = None
     em.ignore_callback_errors = False
     try:
         em()
         assert False, "Emission should have raised exception"
     except Exception as err:
         if str(err) != 'test':
             raise