'Test for registration of a onetime observer during dispatch.'

def test_addOnetimeObserverInDispatch(self):

    d = EventDispatcher()
    msg = Element(('ns', 'message'))
    cb = CallbackTracker()
    def onMessage(msg):
        d.addOnetimeObserver('/message', cb.call)
    d.addOnetimeObserver('/message', onMessage)
    d.dispatch(msg)
    self.assertEqual(cb.called, 0)
    d.dispatch(msg)
    self.assertEqual(cb.called, 1)
    d.dispatch(msg)
    self.assertEqual(cb.called, 1)
