/**
* License Agreement.
*
* JBoss RichFaces - Ajax4jsf Component Library
*
* Copyright (C) 2007 Exadel, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
package org.richfaces.component.events;
import javax.faces.component.UIComponentBase;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.FacesEvent;
import javax.faces.event.FacesListener;
import org.richfaces.event.NodeExpandedEvent;
import org.richfaces.event.NodeExpandedListener;
import org.richfaces.event.NodeSelectedEvent;
import org.richfaces.event.NodeSelectedListener;
import junit.framework.TestCase;
/**
* @author Nick Belaevski - nbelaevski@exadel.com
* created 09.04.2007
*
*/
public class TreeEventsListenersTest extends TestCase {
private UIComponentBase source;
protected void setUp() throws Exception {
super.setUp();
source = new UIComponentBase() {
public String getFamily() {
return null;
}};
}
protected void tearDown() throws Exception {
super.tearDown();
this.source = null;
}
public void testNodeExpandedListener() {
NodeExpandedEvent event = new NodeExpandedEvent(source);
ExpandListener listener = new ExpandListener();
assertTrue(event.isAppropriateListener(listener));
assertFalse(event.isAppropriateListener(new FacesListener(){
}));
event.processListener(listener);
assertSame(event, listener.getEvent());
}
public void testNodeSelectedListener() {
NodeSelectedEvent event = new NodeSelectedEvent(source, null);
SelectListener listener = new SelectListener();
assertTrue(event.isAppropriateListener(listener));
assertFalse(event.isAppropriateListener(new FacesListener(){
}));
event.processListener(listener);
assertSame(event, listener.getEvent());
}
}
class ExpandListener implements NodeExpandedListener {
private FacesEvent event;
public void processExpansion(NodeExpandedEvent nodeExpandedEvent)
throws AbortProcessingException {
event = nodeExpandedEvent;
}
public FacesEvent getEvent() {
return event;
}
}
class SelectListener implements NodeSelectedListener {
private FacesEvent event;
public void processSelection(NodeSelectedEvent nodeSelectedEvent)
throws AbortProcessingException {
event = nodeSelectedEvent;
}
public FacesEvent getEvent() {
return event;
}
}