public void testRemovedListenersReceiveNoEvents() { ObservableConversation mirror = mirrorConversation(target); ObservableConversationBlip b1 = target.getRootThread().appendBlip(); ObservableConversationThread t1 = b1.addReplyThread(); ObservableConversationBlip b2 = t1.appendBlip(); ObservableConversationBlip b1mirror = mirror.getRootThread().getFirstBlip(); ObservableConversationThread t1mirror = b1mirror.getReplyThreads().iterator().next(); t1mirror.getFirstBlip(); mirror.addListener(convListener); mirror.removeListener(convListener); b1.delete(); verifyNoMoreInteractions(convListener); }
public void testRemovedListenersReceiveNoEvents() { ObservableConversation mirror = mirrorConversation(target); ObservableConversationBlip b1 = target.getRootThread().appendBlip(); ObservableConversationThread t1 = b1.addReplyThread(); ObservableConversationBlip b2 = t1.appendBlip(); ObservableConversationBlip b1mirror = mirror.getRootThread().getFirstBlip(); ObservableConversationThread t1mirror = b1mirror.getReplyThreads().iterator().next(); t1mirror.getFirstBlip(); mirror.addListener(convListener); mirror.removeListener(convListener); b1.delete(); verifyNoMoreInteractions(convListener); }
public void testSetAnchorEventsAreFired() { populate(alternate); ObservableConversation.AnchorListener listener = mock(ObservableConversation.AnchorListener.class); target.addListener(listener); Anchor anchor1 = alternate.createAnchor(getFirstBlip(alternate)); // Set anchor from null. target.setAnchor(anchor1); verify(listener).onAnchorChanged(null, anchor1); // Change anchor to different blip. Anchor anchor11 = alternate.createAnchor(alternate.getRootThread().getFirstBlip() .getReplyThreads().iterator().next().getFirstBlip()); target.setAnchor(anchor11); verify(listener).onAnchorChanged(anchor1, anchor11); // Change anchor to different wavelet. ObservableConversation alternate2 = makeConversation(); populate(alternate2); Anchor anchor2 = alternate2.createAnchor(getFirstBlip(alternate2)); target.setAnchor(anchor2); verify(listener).onAnchorChanged(anchor11, anchor2); // Set anchor to null. target.setAnchor(null); verify(listener).onAnchorChanged(anchor2, null); // Remove listener. target.removeListener(listener); target.setAnchor(anchor1); verifyNoMoreInteractions(listener); }
public void testSetAnchorEventsAreFired() { populate(alternate); ObservableConversation.AnchorListener listener = mock(ObservableConversation.AnchorListener.class); target.addListener(listener); Anchor anchor1 = alternate.createAnchor(getFirstBlip(alternate)); // Set anchor from null. target.setAnchor(anchor1); verify(listener).onAnchorChanged(null, anchor1); // Change anchor to different blip. Anchor anchor11 = alternate.createAnchor(alternate.getRootThread().getFirstBlip() .getReplyThreads().iterator().next().getFirstBlip()); target.setAnchor(anchor11); verify(listener).onAnchorChanged(anchor1, anchor11); // Change anchor to different wavelet. ObservableConversation alternate2 = makeConversation(); populate(alternate2); Anchor anchor2 = alternate2.createAnchor(getFirstBlip(alternate2)); target.setAnchor(anchor2); verify(listener).onAnchorChanged(anchor11, anchor2); // Set anchor to null. target.setAnchor(null); verify(listener).onAnchorChanged(anchor2, null); // Remove listener. target.removeListener(listener); target.setAnchor(anchor1); verifyNoMoreInteractions(listener); }
throw new IllegalStateException("Operation failed to apply when generating events", e); } finally { conversation.removeListener(conversationListener); wavelet.removeListener(waveletListener); for (EventGeneratingDocumentHandler docHandler : docHandlers.values()) {