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
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 }