[Asterisk-java-cvs] CVS: asterisk-java/src/test/net/sf/asterisk/manager DefaultManagerConnectionTest
Brought to you by:
srt
From: Stefan R. <sr...@us...> - 2005-07-07 00:09:37
|
Update of /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/manager In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13098/src/test/net/sf/asterisk/manager Modified Files: DefaultManagerConnectionTest.java Log Message: Fix: event handlers are now notified in the same order as they are added Index: DefaultManagerConnectionTest.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/manager/DefaultManagerConnectionTest.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -p -r1.8 -r1.9 --- DefaultManagerConnectionTest.java 13 Mar 2005 11:26:49 -0000 1.8 +++ DefaultManagerConnectionTest.java 7 Jul 2005 00:09:27 -0000 1.9 @@ -26,6 +26,7 @@ import net.sf.asterisk.manager.action.St import net.sf.asterisk.manager.event.ConnectEvent; import net.sf.asterisk.manager.event.DisconnectEvent; import net.sf.asterisk.manager.event.ManagerEvent; +import net.sf.asterisk.manager.event.NewChannelEvent; import net.sf.asterisk.manager.response.ManagerResponse; import org.easymock.MockControl; @@ -592,6 +593,36 @@ public class DefaultManagerConnectionTes socketMC.verify(); } + + + public void testDispatchEventWithMultipleEventHandlers() + { + final int count = 20; + ManagerEvent event; + MockControl listMC; + final List list; + + // verify that event handlers are called in the correct order + event = new NewChannelEvent(new AsteriskServer()); + listMC = MockControl.createStrictControl(List.class); + list = (List) listMC.getMock(); + for (int i = 0; i < count; i++) + { + final int index = i; + list.add(new Integer(index)); + listMC.setReturnValue(true); + dmc.addEventHandler(new ManagerEventHandler(){ + public void handleEvent(ManagerEvent event) + { + list.add(new Integer(index)); + } + }); + } + + listMC.replay(); + dmc.dispatchEvent(event); + listMC.verify(); + } private class MockedManagerEventHandler implements ManagerEventHandler { |