View Javadoc
1   package ch.qos.logback.core.util;
2   
3   import static org.junit.Assert.*;
4   
5   import java.util.List;
6   
7   import org.junit.After;
8   import org.junit.Before;
9   import org.junit.Test;
10  
11  import ch.qos.logback.core.Context;
12  import ch.qos.logback.core.ContextBase;
13  import ch.qos.logback.core.status.OnConsoleStatusListener;
14  import ch.qos.logback.core.status.StatusListener;
15  import ch.qos.logback.core.status.StatusManager;
16  
17  public class StatusListenerConfigHelperTest {
18  
19      Context context = new ContextBase();
20      StatusManager sm = context.getStatusManager();
21  
22      @Before
23      public void setUp() throws Exception {
24      }
25  
26      @After
27      public void tearDown() throws Exception {
28      }
29  
30      @Test
31      public void addOnConsoleListenerInstanceShouldNotStartSecondListener() {
32          OnConsoleStatusListener ocl0 = new OnConsoleStatusListener();
33          OnConsoleStatusListener ocl1 = new OnConsoleStatusListener();
34  
35          StatusListenerConfigHelper.addOnConsoleListenerInstance(context, ocl0);
36          {
37              List<StatusListener> listeners = sm.getCopyOfStatusListenerList();
38              assertEquals(1, listeners.size());
39              assertTrue(ocl0.isStarted());
40          }
41  
42          // second listener should not have been started
43          StatusListenerConfigHelper.addOnConsoleListenerInstance(context, ocl1);
44          {
45              List<StatusListener> listeners = sm.getCopyOfStatusListenerList();
46              assertEquals(1, listeners.size());
47              assertFalse(ocl1.isStarted());
48          }
49      }
50  
51  }