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