View Javadoc

1   package javax.faces.component;
2   
3   import java.util.Arrays;
4   import java.util.Collection;
5   import java.util.Date;
6   
7   import javax.faces.event.ActionListener;
8   import javax.faces.event.FacesListener;
9   import javax.faces.event.ValueChangeListener;
10  
11  import static org.testng.Assert.*;
12  
13  import org.testng.annotations.BeforeMethod;
14  import org.testng.annotations.Test;
15  
16  /**
17   * Created by IntelliJ IDEA.
18   * User: mathias
19   * Date: 18.03.2007
20   * Time: 01:16:50
21   * To change this template use File | Settings | File Templates.
22   */
23  public class UIComponentBaseFacesListenerTest extends AbstractUIComponentBaseTest
24  {
25      private ActionListener _actionListener;
26      private ValueChangeListener _valueChangeListener;
27  
28      @Override
29      @BeforeMethod
30      protected void setUp() throws Exception
31      {
32          super.setUp();
33          _actionListener = _mocksControl.createMock(ActionListener.class);
34          _valueChangeListener = _mocksControl.createMock(ValueChangeListener.class);
35      }
36  
37      @Test(expectedExceptions = {NullPointerException.class})
38      public void testArgNPE() throws Exception
39      {
40          _testImpl.getFacesListeners(null);
41      }
42  
43      @Test(expectedExceptions = {IllegalArgumentException.class})
44      public void testInvalidListenerType() throws Exception
45      {
46          _testImpl.getFacesListeners(Date.class);
47      }
48  
49      @Test
50      public void testEmptyListener() throws Exception
51      {
52          FacesListener[] listener = _testImpl.getFacesListeners(ActionListener.class);
53          assertNotNull(listener);
54          assertEquals(0, listener.length);
55      }
56  
57      @Test
58      public void testGetFacesListeners()
59      {
60          _testImpl.addFacesListener(_actionListener);
61  
62          FacesListener[] listener = _testImpl.getFacesListeners(ValueChangeListener.class);
63          assertNotNull(listener);
64          assertEquals(0, listener.length);
65          assertTrue(ValueChangeListener.class.equals(listener.getClass().getComponentType()));
66  
67          _testImpl.addFacesListener(_valueChangeListener);
68  
69          listener = _testImpl.getFacesListeners(FacesListener.class);
70          assertNotNull(listener);
71          assertEquals(2, listener.length);
72          Collection<FacesListener> col = Arrays.asList(listener);
73          assertTrue(col.contains(_actionListener));
74          assertTrue(col.contains(_valueChangeListener));
75      }
76  
77      @Test(expectedExceptions = {NullPointerException.class})
78      public void testRemoveFacesListenerArgNPE() throws Exception
79      {
80          _testImpl.removeFacesListener(null);
81      }
82  
83      @Test
84      public void testRemoveFacesListener() throws Exception
85      {
86          _testImpl.addFacesListener(_actionListener);
87          assertEquals(_actionListener, _testImpl.getFacesListeners(FacesListener.class)[0]);
88          _testImpl.removeFacesListener(_actionListener);
89          assertEquals(0, _testImpl.getFacesListeners(FacesListener.class).length);
90      }
91  }